我正在调查我的应用程序中的零星崩溃,但仍然不确定是什么原因造成的。当我想关闭包含 VB 6.0 或 VC 6.0 文本控件的 MDI 表单时,有时会发生这种情况——它作为互操作的 C# 包装器。在查看代码时,我注意到我有一些这样的代码:
private void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing) //Disposing of everything: managed and unmanaged resources.
{
moTextEditor.Dispose(); --here
moTextEditor.Dispose(); --here
}
// Deal with our own & whatever other unmanaged resources (this used to be done in the finalizer, above)
SetLockedFields(false);
disposed = true;
}
}
所以注意到moTextEditor.Dispose(); 线路重复两次?你怎么看?这可能是问题吗?