mvc*_*bie 2 .net c# idisposable
我在这里看到了一些关于如何在超出范围时处理对象的方法的帖子,但我尝试过的任何东西似乎都没有用.
我有一个我创建的loadingscreen类,所以我在一个表单的xxx_load函数中声明了该对象.我希望对象在超出范围时自动处理,因此隐藏加载屏幕将自动处理.
这是我的装载课程
public class Loader : IDisposable
{
public Loader()
{
Form.Loadscreen();
}
public void Dispose()
{
Dispose(true);
}
protected virtual void Dispose(bool disposing)
{
Form.UnloadScreen();
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我在代码中使用它的方法.
using (Loader loader = new Loader())
{
//... do some loading processing
loader.Dispose();
}
Run Code Online (Sandbox Code Playgroud)
即使我可以验证正在调用loader.Dispose(),仍然有时候没有处理对象.
有什么建议?
首先,你不需要loader.Dispose()明确调用:这是一个using块(它Dispose自动调用)背后的全部要点.
第二,你是什么意思"对象没有被处置",因为Dispose被调用(并且不可能不被调用; using确保它).
| 归档时间: |
|
| 查看次数: |
2689 次 |
| 最近记录: |