何度も電話することのデメリットはありますGC.SuppressFinalize(object)
か?Disposeパターン
の
保護されたDispose(bool)
メソッドは、以前に呼び出されたかどうかをチェックしますが、パブリックメソッドにはそのようなチェックはありません。Dispose()
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (_Disposed)
return;
if (disposing)
{
// Cleanup managed resources.
}
// Cleanup unmanaged resources.
_Disposed = true;
}
~MyClass() { Dispose(false); }
インスタンスのDispose()
メソッドを複数回呼び出しても問題ありませんか?MyClass