我正在研究一个“学习计划”,并在我的学习中使用 Code Rush 重构工具。随着 Code Rush 的最新更新,它一直建议在我的程序中实现 IDisposable。我知道 MSDN 关于 IDisposable 的说法,并且我对它的作用有一个真正的基本了解,但是因为我不知道实现它的所有含义,所以我一直忽略了这个建议。今天我决定进一步了解它并接受建议。
这就是它添加到我的程序中的内容。
class Program : IDisposable
{
static Service _proxy;
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (disposing)
if (_proxy != null)
{
_proxy.Dispose();
_proxy = null;
}
}
~Program()
{
Dispose(false);
}
所以我的问题是这样的。这是否做了我需要做的一切来获得 IDisposable 的优势,还是我需要在代码中做一些事情才能使它工作?我在上面设置了一个断点,并且从未通过调试器到达它,所以要么不需要它,要么我没有按照预期的方式使用它。有人可以解释一下这对我有什么作用或我应该如何使用它以便它对我有用吗?