【发布时间】:2012-03-17 08:32:38
【问题描述】:
在 C# 中,如果一个类(例如管理器类)没有资源,那么拥有它有什么好处: IDisposable?
简单示例:
public interface IBoxManager
{
int addBox(Box b);
}
public class BoxManager : IBoxManager
{
public int addBox(Box b)
{
using(dataContext db = new dataContext()){
db.Boxes.add(b);
db.SaveChanges();
}
return b.id;
}
}
如果 BoxManager 也实现了 IDisposable,那么在使用内存方面会有什么好处吗? public class BoxManager : IBoxManager , IDisposable
例如:
BoxManager bm = new BoxManager();
bm.add(myBox);
bm.dispose();//is there benefit to doing this?
【问题讨论】:
-
这取决于你将如何实现
Dispose()。 -
当我不再需要对象时,我使用 Dispose() 从事件中取消订阅。
标签: c# idisposable