![]() |
1
5
错误的
通常,任何实现
大多数没有非托管资源的对象不会实现
唯一的例外是实现的基类
|
![]() |
2
3
这不是问题。编译器不允许您对未实现它的对象调用Dispose()。
你呢
应该是
为每个对象调用Dispose()
做
实现它(它将通过
如果简单地将对象的创建和使用包装在
|
![]() |
3
2
实际上,您必须处理实现IDisposable的对象。 与直接调用Dispose()相反,执行此操作的标准方法是:
|
![]() |
4
0
如果我错了,请纠正我。 据我所知,.NET Framework的所有类都是托管的(在程序员看来,尽管使用不足,但它们可能会使用非托管代码),所以理论上你不需要调用Dispose()或using,因为gc会注意这一点。但有时非常建议使用它们,请参阅 IDisposable Interface 和 Which managed classes in .NET Framework allocate (or use) unmanaged memory? 和 http://blogs.msdn.com/b/kimhamil/archive/2008/11/05/when-to-call-dispose.aspx 编辑:(你是对的,noob)为了澄清,我将添加来自 IDisposable接口 建议在以下情况下调用dispose或using:
|
|
user2414250 · 如何判断资源是否处于非托管状态? 7 年前 |
![]() |
J.Lucas · 处置方法的重要性(libgdx) 7 年前 |
![]() |
1iveowl Diego Sanchez · 异步一次性创建 7 年前 |
![]() |
Czeshirecat · 在更改控件的字体时,是否应丢弃旧字体? 10 年前 |
![]() |
user2813889 · 从列表中删除对象后,我应该将其更改为Null吗? 11 年前 |
![]() |
Zerowalker · 如果我在整个跑步过程中都需要一次性物品,该怎么办? 11 年前 |