我有一个类,创建了几个可释放对象,然后将这些对象传递给第三方库中的另一个“管理器”类。由于我需要在后续调用中使用其中一些对象,因此我保留了对创建对象的本地字段引用,以便稍后访问它们。当我在该类上运行FxCop时,它说我应该实现IDisposable,因为我保留了对可释放对象的引用。我的问题是:
- 我应该为我的类实现IDisposable吗?(还是由管理器负责?)
- 如果是这样,我只应该处理我保留引用的对象吗?还是应该找到一种方法来处理我创建的所有对象。
我的代码:
public class MyClass
{
ClassThatIsDisposable aReference;
}
public MyClass(ManagerClass manager)
{
ClassThatIsDisposable transient=new ClassThatIsDisposable();
manager.Add(transient);
aReference=new ClassThatIsDisposable();
manager.Add(aReference);
}
public void LaterCall()
{
areference.Method();
}