アプリケーションのある時点で、ファイルを保存したいのですが、アプリを終了できない場合は、失敗の理由を表示し、管理されていないリソースをすべて解放します。これは、ディストラクターを介して行われます。
デバッグとステップバイステップ (F11) 実行を使用しているときに、コードでディストラクターが呼び出されていないことがわかりました。管理されていないリソースは解放されていますか、または情報を保存できず、アプリを終了する必要がある場合にディストラクターが呼び出されるようにする方法はありますか?
public class MyClass()
{
private UnmanagedResource unmanagedResource;
MyClass()
{
unmanaged resource = new UnmanagedResource();
}
~MyClass()
{
((IDisposable)unmanagedResource).Dispose();
}
public save()
{
try
{
unamangedResource.Save();
}
catch (System.IO.IOException)
{
Console.WriteLine("Error saving");
Environment.Exit(1);
}
}