假设我的命令架构模式中有一个方法可以改变图形路径的内容,如下所示:( 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);
}
}
Run Code Online (Sandbox Code Playgroud)
在将路径设置为等于新路径之前,是否需要设置路径?如果是这样,为什么?
是.由于您通过引用传递路径变量,因此在重新分配时会"删除"上一个实例.使用Dispose()清理是正确的做法.
| 归档时间: |
|
| 查看次数: |
413 次 |
| 最近记录: |