c# - GDI+ 区域、矩阵和 GraphicsPath 处理

标签 c# gdi+ dispose

我注意到 Matrix、GraphicsPath 和 Region 类实现了 IDisposable。据我了解,如果一个类实现了这个接口(interface),那么调用 Dispose 是一个要求,但我不明白为什么这些类实现它。这些类使用了哪些系统资源,需要释放它们。在我的项目中,我有许多需要绘制的自定义形状,我使用这些类来存储这些对象的变换和几何信息,我将它们用于并不总是与绘图相关的事情(例如 HitTest 和对象排列管理) ),但似乎我不能这样做,因为它们使用资源,并且拥有一堆这些对象可能会减慢整个系统的速度。有人可以对此发表评论吗?也许我的假设是错误的,这些对象毕竟不需要被处理?

最佳答案

使用 Reflector 或 ILSpy 等工具,您可以自己研究处置方法。我检查了 Matrix 案例,它确实在 Dispose(bool) 方法中释放了一些 native 引用。

关于c# - GDI+ 区域、矩阵和 GraphicsPath 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6175373/

相关文章:

c# - 更改控件的字体时是否应该处理旧字体?

c# - 类析构问题

c# - 处理嵌套的一次性元素?

c# - 在图片框中显示图标

c# - Azure移动应用程序离线同步从未获取数据

c# - 我是否需要对字体、画笔等使用使用模式

c++ - USB相机的文件路径

c# yield and try-finally 收藏

c# - 如何使 DataContractJsonSerializer 将对象序列化为字符串?

c# - Bitmap.Lockbits 困惑