using
我在 C# 中工作,对于使用块来声明实现的对象,我一直很松懈IDisposable
,显然你总是应该这样做。但是,我看不到一个简单的方法来知道我何时滑倒。Visual Studio 似乎没有以任何方式表明这一点(我只是错过了什么吗?)。我是不是应该每次声明任何东西时都检查一下帮助,并逐渐建立一个百科全书式的记忆,哪些对象是一次性的,哪些不是一次性的?似乎不必要、痛苦且容易出错。
你怎么处理这个?
编辑:
查看相关问题侧边栏,我发现了另一个问题,它明确表示Dispose()
无论如何应该由对象的终结器调用。因此,即使您从未自己调用它,它最终也应该会发生,这意味着如果您不使用它就不会发生内存泄漏using
(我想这是我一直担心的问题)。唯一需要注意的是,垃圾收集器不知道对象作为非托管的东西持有多少额外的内存,因此它无法准确知道通过收集对象将释放多少内存。这将导致垃圾收集器的性能不如通常理想。
简而言之,如果我错过了一个using
. 我只是希望某些东西至少会产生一个警告。
(题外话:为什么链接到另一个问题没有特殊的降价?)
编辑:
好吧,好吧,别吵了。这是超级骗子的全能戏剧花栗鼠级别,重要的是要打电话Dispose()
,否则我们都会死。
现在。鉴于此,为什么这么容易——见鬼,为什么甚至允许——做错事?你必须不遗余力地做正确的事。像其他所有事情一样这样做会导致世界末日(显然)。封装这么多,是吧?
[离开,厌恶]