Dispose パターンを実装したばかりで、この行を入力したところ、メソッドのパラメーターとしてGC.SuppressFinalize(this)
以外のものを使用するユースケースがあるかどうか疑問に思っていました。this
これは典型的なパターンです:
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this); // right here
}
GC.SuppressFinalize()
以外のもので呼び出すことは意味がありthis
ますか?
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(foo); // should this ever happen?
}