我注意到 Matrix、GraphicsPath 和 Region 类实现了 IDisposable。据我了解,如果一个类实现了这个接口(interface),那么调用 Dispose 是一个要求,但我不明白为什么这些类实现它。这些类使用了哪些系统资源,需要释放它们。在我的项目中,我有许多需要绘制的自定义形状,我使用这些类来存储这些对象的变换和几何信息,我将它们用于并不总是与绘图相关的事情(例如 HitTest 和对象排列管理) ),但似乎我不能这样做,因为它们使用资源,并且拥有一堆这些对象可能会减慢整个系统的速度。有人可以对此发表评论吗?也许我的假设是错误的,这些对象毕竟不需要被处理?
最佳答案
使用 Reflector 或 ILSpy 等工具,您可以自己研究处置方法。我检查了 Matrix 案例,它确实在 Dispose(bool) 方法中释放了一些 native 引用。
关于c# - GDI+ 区域、矩阵和 GraphicsPath 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6175373/