我正在学习用 C# 绘制东西,我一直看到有关使用 dispose() 的建议,但我不太明白它的作用。
- 我应该什么时候使用 dispose() 代码绘制图形?
- 如果我会怎样 不?
- 我需要每次都调用它吗 时间图形不可见,例如 就像在具有选项卡和 用户切换到另一个选项卡,并且 然后在他们切换回来时重新绘制它?
- 如果我在不该调用的时候调用它,会破坏东西吗?
- bat 侠能否逃脱 clown 的魔爪?
最佳答案
- 我什么时候应该在代码绘制的图形上使用 dispose()? 当您完全完成任何实现
IDisposable
的对象时,您应该调用在它有资格进行垃圾收集之前处理
。正如其他人指出的那样,最好使用using
语句而不是直接调用Dispose
。 - 如果我不这样做会怎样?您的程序的效率会稍微低一些,因为它占用的资源会比必要的多一些。这是不处理图形的唯一缺点;但是,不处理其他类实际上会导致错误(一个著名的例子是
StreamWriter
)。因此,作为一般规则,最好始终释放任何实现IDisposable
的类。 - 我是否需要在每次图形不可见时调用它,例如在具有选项卡且用户切换到另一个选项卡的 GUI 上,然后在他们切换回来时重新绘制它?不可以。只有当您完全处理完对象后,才应将其丢弃。
- 如果我在不该调用它时会破坏东西吗? 是的。如果您在使用完对象之前调用
Dispose
,然后尝试使用已释放的对象,您将得到一个ObjectDisposedException
。 - bat 侠能逃脱 clown 的魔掌吗?明天收看,同样的 bat 时间,同样的 bat channel !
关于c# - 什么时候需要在图形上使用 dispose()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3171185/