6

長時間実行するアプリケーションでいくつかのメモリの問題が発生しています。ブラシが適切に廃棄されていることを確認するために、ペイント方法を検査しています。関数の引数に を作成した場合Brush、ブラシは呼び出し後に破棄されますか?

ケースの概要は次のとおりです。

     g.DrawString(valueText, Font, new SolidBrush(Color.Red),
4

2 に答える 2

10

私は完全に確信しているわけではありませんが、そうではないと思います。これはより安全です:

using(var redBrush = new SolidBrush(Color.Red)
{
    g.DrawString(valueText, Font, redBrush);
}
于 2009-08-30T12:38:32.257 に答える
4

いいえ、手動で行う必要があります。ただし、クラスBrushesとを調べて、SystemBrushes新しいブラシを作成せずに使用できる既製のブラシについて調べてください (また、破棄する必要がない / すべきではありません)。

于 2009-08-30T12:38:36.453 に答える