備忘録

備忘録

C# で CA1063 が出ないように IDisposable を実装する方法

Ⅰ. はじめに

タイトルの通り「C# で CA1063 が出ないように IDisposable を実装する方法」です。

Ⅱ. サンプルプログラム

public class MyClass : IDisposable
{
  #region Dispose
  public void Dispose()
  {
    Dispose(true);
    GC.SuppressFinalize(this);
  }

  protected virtual void Dispose(bool disposing)
  {
    if (disposing)
    {
      // マネージドリソースを開放する
    }

    // アンマネージドリソースを開放する
  }

  ~MyClass()
  {
    Dispose(false);
  }
  #endregion
}