我对处理图形对象的机制感到困惑。处理诸如字体和笔的对象的最佳方式是什么?当实例化/处理它们时,最佳做法是什么?我的意思是类中的方法或变量内的方法?处理图形对象
例如,我有一个类如下面的代码。我有一些字体和笔,在类中的其他地方使用,所以不是每次在调用方法中创建它们,而是将它们创建为字段。这是否会提高性能?
public class PackageDrawer : IDisposable
{
Font font1 = ....
Font font2 = ....
Font font3 = ....
Pen pen1 = ...
Pen pen2 = ...
Pen pen3 = ...
public Bitmap Draw()
{
//use fonts and pens here
//also they are being user in more methods
}
~PackageDrawer()
{
Dispose();
}
public void Dispose()
{
font1.Dispose();
//And dispose other stuff...
}
}
您不需要终结器,也不应该用它来调用Dispose,因为不能保证这些字段还没有完成。 – Lee 2012-08-15 18:45:38
@李你能再解释一下吗? “领域还没有最终确定”是什么意思? – 2012-08-15 18:50:24
无法保证终结器执行的顺序,所以到'PackageDrawer'的终结器运行时,其字段的终结器可能已经执行完毕。在Finaliser中没有什么可以做的,所以你应该删除它。 – Lee 2012-08-15 18:53:04