相关疑难解决方法(0)

处理.NET IDisposable对象

我在C#工作,并且我一直非常松懈地使用using块来声明实现的对象IDisposable,这显然是你应该做的.但是,我没有看到一种简单的方法来了解我何时滑倒.Visual Studio似乎没有以任何方式表明这一点(我只是错过了什么?).我每次申报任何东西时都应该检查帮助,然后逐渐建立一个百科全书式的记忆,对象是哪些,哪些不是一次性的?似乎没有必要,痛苦和容易出错.

如何处理这个问题?

编辑:

看一下相关问题的侧边栏,我发现了另一个问题,它明确表示Dispose()应该被对象的终结器调用.因此,即使你自己也没有自己调用它,它最终会发生,这意味着如果你不使用它就不会有内存泄漏using(这是我认为我一直非常担心的).唯一需要注意的是,垃圾收集器不知道对象作为非托管内容持有多少额外内存,因此无法准确了解通过收集对象将释放多少内存.这将导致垃圾收集器的性能低于平常.

简而言之,如果我错过了,那就不是世界末日了using.我只是希望有些东西会产生至少一个警告.

(偏离主题:为什么链接到另一个问题没有特殊的降价?)

编辑:

好的,好的,别叫吵了.这是超级决斗所有激烈的戏剧性 - 花栗鼠级别的重要打电话Dispose()或我们都会.

现在.鉴于此,为什么这么容易 - 地狱,为什么甚至允许 - 做错了?你必须尽力去做正确的事.像其他一切一样做它会导致世界末日(显然).封装这么多,是吧?

[偷偷摸摸,反感]

.net c# idisposable using-statement visual-studio

40
推荐指数
2
解决办法
9567
查看次数

标签 统计

.net ×1

c# ×1

idisposable ×1

using-statement ×1

visual-studio ×1