次の方法で共有


信頼性の警告

信頼性の警告は、メモリやスレッドの適切な使用など、ライブラリとアプリケーションの信頼性をサポートします。

このセクションの内容

規則

説明

CA2000: スコープが失われる前にオブジェクトを破棄します

例外的なイベントが発生するとオブジェクトのファイナライザーを実行できないため、オブジェクトに対するすべての参照がスコープ外になる前に、オブジェクトを明示的に破棄する必要があります。

CA2001: 問題が発生する可能性のあるメソッドは呼び出しません

メンバーが危険性または問題のあるメソッドを呼び出します。

CA2002: ID が不十分なオブジェクトをロックしないでください

アプリケーション ドメインの境界を越えてオブジェクトに直接アクセスできる場合、そのオブジェクトの ID は不十分と表現されます。スレッドで ID が不十分なオブジェクトをロックしようとすると、ブロックされることがあります。たとえば、異なるアプリケーション ドメインの別スレッドで、既に同じオブジェクトがロックされている場合です。

CA2003: ファイバーをスレッドとして扱いません

マネージ スレッドが Win32 スレッドとして扱われています。

CA2004: GC.KeepAlive への呼び出しを削除します

SafeHandle の使用に変更する場合、すべての GC.KeepAlive (object) の呼び出しを削除します。この場合、クラスに GC.KeepAlive の呼び出しを含めることはできません。クラスはファイナライザーを持っていない代わりに、SafeHandle を使用して OS ハンドルを終了していることが前提となっています。

CA2006: SafeHandle を使用して、ネイティブ リソースを要約します

マネージ コードで IntPtr を使用すると、セキュリティ上の問題および信頼性の問題が発生する可能性があります。すべての IntPtr の使用状況をチェックして、SafeHandle または類似のテクノロジに置き換える必要があるかどうかを判断してください。