私は次のようにコーディングします:
class myclass : IDisposable
{
public int a;
public void Dispose()
{
GC.SuppressFinalize(this);
}
}
class Program
{
static void Main(string[] args)
{
myclass cl = null;
using (myclass n = new myclass())
{
n.a = 10;
cl = n;
}
int a = cl.a;// statement 1
}
}
cl オブジェクトが解放された (n 個のオブジェクトが解放された) ため、ステートメント 1 は機能しないと思います。しかし、それはうまくいきます。では、ステートメント 1 で n 個のオブジェクトが本当に解放されたのでしょうか?