【发布时间】:2010-06-02 16:11:40
【问题描述】:
我的类继承自 UnityContainer(来自 Unity 2.0),这里是源代码:
public class UnityManager : UnityContainer
{
private UnityManager()
{
_context = new MyDataClassesDataContext();
// ...
}
protected override void Dispose(bool disposing)
{
if ( disposing )
{
_context.Dispose();
}
base.Dispose(disposing);
}
private readonly CMCoreDataClassesDataContext _context;
}
当为 UnityManager 类的实例调用 Dispose 方法时,它会陷入递归……为什么?据我所知 base.Dispose 应该只调用基类的 Dispose 方法......不是吗?谁回调UnityManager的Dispose(bool)?如何防止这种情况?
谢谢。
【问题讨论】:
标签: c# .net unity-container enterprise-library dispose