【发布时间】:2009-07-06 19:04:59
【问题描述】:
是否可以将 Visual Studio 2008 配置为在我忘记处置实现 IDisposable 的对象时向我发出警告?
【问题讨论】:
标签: visual-studio-2008 idisposable compiler-warnings
是否可以将 Visual Studio 2008 配置为在我忘记处置实现 IDisposable 的对象时向我发出警告?
【问题讨论】:
标签: visual-studio-2008 idisposable compiler-warnings
Visual Studio 本身没有此功能,但使用CodeRush,您可以在需要时使用块插入设计时警告和重构。
【讨论】:
如果您打开 FxCop 设计规则,它会告诉您何时不实施 IDisposable 并且您有成员实施 IDisposable,如下所示:
class Program
{
private DataTable NotDisposed;
public Program()
{
NotDisposed = new DataTable();
}
static void Main()
{
}
}
【讨论】:
我不认为它可以在编译时完成。
但是,它可以在运行时完成。
我创建了一个抽象类“Disposable”(它实现了 IDisposable,并实现了 Disposable 模式)。
在终结器中,我在调用终结器时发出 Assert,并且对象尚未被释放。
我基于 Ian Griffiths 的一篇文章:
http://www.interact-sw.co.uk/iangblog/2004/04/26/yetmoretimedlocking
【讨论】: