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対象の認識です。
認識に誤りがあるでしょうか。
よろしくお願いします。