假设我的命令体系结构模式中有一个方法可以更改图形路径的内容,如下所示:(GraphicsPath是IDisposable)
(这纯粹是未经测试的快速示例)
public void DoSomething(ref GraphicsPath path)
{
if(path != null)
{
List<PointF> pts = new List<PointF>();
foreach(PointF pt in path.PathPoints)
{
//again, just a silly example.
float y = pt.X;
float x = pt.Y;
pts.Add(new PointF(x, y));
}
path.Dispose(); //<-- Do I need this?
path = new GraphicsPath(pts.ToArray(), path.PathTypes);
}
}
在将路径设置为新路径之前,是否需要处置路径?如果是这样,为什么?
最佳答案
是。由于要通过引用传递路径变量,因此在重新分配前一个实例时会将其“孤立”。用Dispose()清理是正确的事情。
关于c# - 重新填充IDisposable对象之前,是否必须将它们丢弃?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1785453/