例外安全性のための範囲指定された動作を達成するために、「using」と IDisposable は悪用されていますか?
適切なクリーンアップ メカニズムを強制し、予測可能なことを保証するための取り組み特定のスコープ内の状態管理では、C 開発者は、クラスが別のクラスの開始条件と終了条件を処理するパターンをよく採用しました。コンストラクターとデストラクターを介して。 C# では、IDisposable と "using" を使用して目的の機能を実現できます。ただし、このアプローチはこれらの構成要素の意図された目的の乱用に当たると主張する人もいます。
質問: この方法での "using" と IDisposable の使用は乱用とみなされますか?
答え: はい、この「using」と IDisposable の使用は、いくつかの人にとって乱用として広く見なされています。理由:
悪用の結果:
さらに、このアプローチは微妙な脆弱性を引き起こす可能性があります:
結論:
例外の安全性のためにスコープ指定された動作を実現することが望ましいかもしれませんが、この方法で IDisposable を使用して「使用する」ことは次のとおりです。一般に、意図された機能の乱用とみなされます。これにより、状態操作の本質が曖昧になり、レビュー可能性が妨げられ、潜在的な脆弱性が導入される可能性があります。
以上がスコープ付き例外の安全性を確保するために「using」と「IDisposable」を使用することは悪用ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。