これらの状況でいつデストラクタが呼び出されるのか、メインの UI スレッドで呼び出されるのか疑問に思っていました。
次のコードがあるとしましょう。デストラクタはいつ呼び出され、すべての関数呼び出しが完了するまで待機しますか?
private void Foo()
{
MyObject myObj = new MyObject();
DoSomeFunThingsWithMyObject(myObj);
myObj = new MyObject(); //is the destructor for the first instance called now?
DoLongOminousFunctionality(myObj);
}
//Or will it be called after the DoLongOminousFunctionality?
スレッドが myObj = new MyObject() で中断された場合、またはスレッドが解放されるまでデストラクタ呼び出しが待機する場合、それは私にとって興味深いものです。
情報のおかげで。