我有一个处理某些非托管代码的非静态类,我的类继承了IDisposable,这要求该类实现Dispose()方法。我该如何要求在该类的实例上调用Dispose(),而不仅仅是在类本身中实现?
public class MyClass : IDisposable
{
//Some fields and methods
public void Dispose()
{
//Code that frees unmanaged resourses
}
}
在我的主要方法中:
public void main()
{
var myClassInstance = new MyClass();
//Some code that does stuff with myClassInstance
//I forget here to call myClassInstance.Dispose();
}
我现在想受到警告。 例如:“您尚未在myClassInstance上调用Dispose”。
答案 0 :(得分:-1)
将消息放入析构函数〜MyClass中,并使用[Debug]属性对其进行标记。您将无法控制何时调用它,但是当其中一个第一次被垃圾回收时,您将收到消息。