在我的WinCE中,我有一个WinForm:

public class SyncForm : Form
{
 IDisposable someResource;
 public SyncForm()
 {
  someResource = new SomeResource();
 }

        private void SyncForm_Closed(object sender, EventArgs e)
        {
            someResource.Dispose();
        }
}


当应用程序正确关闭时,它可以正常工作,但是如果发生未处理的异常,则不会清除资源。即使我的应用程序崩溃,我应该在哪里确保它被调用?

最佳答案

转到设计器文件。在顶部附近将是覆盖的Dispose方法。在该Dispose方法中处理该资源。这是设计器文件中唯一可以由您编辑的方法,因此Visual Studio不会覆盖您在其中编写的内容。就是说,如果您担心的话,可以在普通代码中编写一个单独的方法,只需从Dispose方法调用即可。

关于c# - 如何确定要清除的非托管资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20053237/

10-10 05:05