在Visual Studio 2010中启用MDA后,助手constintenlty会在每个CustomLineCap配置上激活ReleaseHandleFailed,例如:
GraphicsPath gp = new GraphicsPath();
CustomLineCap clp = new CustomLineCap(gp, null);
clp.Dispose();
当然这只是一个简单的例子,但即使在这里,我也会得到助理的电话,即:
A SafeHandle or CriticalHandle of type
'System.Drawing.Drawing2D.SafeCustomLineCapHandle' failed to properly release the
handle with value 0x00000000. This usually indicates that the handle was released
incorrectly via another means (such as extracting the handle using DangerousGetHandle
and closing it directly or building another SafeHandle around it.)
班级有问题吗?无论gp中的残留形状如何,此类的所有可用构造函数都会导致此辅助行为。最后问题是:我应该如何正确处理CustomLineCap实例?
的Dawid。