グラフィカル オブジェクトのメカニズムを配置することに混乱しています。フォントやペンなどのオブジェクトを処分する最良の方法は何ですか? そして、それらをインスタンス化/破棄するときのベストプラクティスは何ですか? クラス内のフィールドまたはメソッド内の変数としてですか?
たとえば、次のコードのようなクラスがあります。クラスのどこでも使用されるフォントとペンがいくつかあるので、呼び出しメソッド内で毎回それらを作成する代わりに、それらをフィールドとして作成するだけです。これによりパフォーマンスが向上しますか?
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...
}
}