C#におけるIDisposableインターフェース
WEB上で掲題の件について、多くの記事で議論されているのですが、以下の点だけ解決できなかったので、ご教示頂けますでしょうか。
IDisposable
を実装したクラスのDispose
メソッドが呼ばれた後、当該クラスのインスタンス自体の参照はなくなるでしょうか。
例えば、以下の様なコードです。
private static sampleClass;
static void Main() {
sampleClass = new SampleClass();
sampleClass.Dispose();
}
public class SampleClass : IDisposable {
private StreamReader reader;
public SampleClass() {
reader = new StreamReader();
}
public void Dispose() {
reader.Dispose();
}
}
sampleClass
の参照はstatic変数に格納されてしまっている為、GC対象外になってしまうと思っています。sampleClass
内のreader
はGC対象の認識です。
認識に誤りがあるでしょうか。
よろしくお願いします。