タグ

2010年10月14日のブックマーク (4件)

  • [IDisposable]:Gushwell's Dev Notes

    メールマガジン「C#プログラミングレッスン」では、今、[FxCopに学ぶ編] を連載中です。 そこで取上げようとしたルールで、下書きまでしたのですが、結局メルマガには書かないことにしたルールがいくつかあります。 そのまま捨ててしまうのはもったいないので、ブログに掲載します。 ■IDisposableの実装(3)■ 「CA2215:Dispose メソッドから基クラスの破棄を呼び出します」 というルールがあるのですが、どのようなコードを書いたらこの FxCopの警告が出るのが試したのですが、警告を出すことができません でした。 ということで、いきなりですが、Disposeパターンを実装したクラスを継承する場合の正しいコードを掲載します。 もちろん、DelivedTypeの中で、破棄すべきフィールドを保持していた場合の コードになります。 public class DelivedType :

  • C#と諸々 IDisposable

    クラスがアンマネージリソースをフィールドに保持する場合、またはIDisposableインターフェイスを実装するクラスをフィールドに保持する場合、そのクラスはIDisposableインターフェイスを実装する必要がある。 IDisposableを実装する際は以下の要件を満たすために、Dispose Finalizeパターンを適用する。 Dispose()はマネージリソースとアンマネージリソースの解放処理を行う。 デストラクタはアンマネージリソースの解放処理を行う。 Dispose()が呼び出された場合、デストラクタがGCによって呼び出されることのないようにする。 Dispose()は複数回呼び出されても良いようにする。 Dispose()、デストラクタでは、例外がスローされないようにする。 Dispose()が呼び出された後にDispose()以外のパブリックメソッドを呼び出すとObjectD

  • IDisposable 使用編

  • Google Sites: Sign-in

    Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode