在我的应用程序中的某个时刻,我想保存一个文件,如果它无法退出应用程序,则显示失败原因并释放所有非托管资源,女巫是通过析构函数完成的。
在使用调试和逐步(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);
}
}