Будет ли располагаться кисть, если она создана при вызове метода - PullRequest
1 голос
/ 20 апреля 2010

ниже - фрагмент кода, найденный в моем методе рисования. Я не уверен, как это называется, когда я создаю объект, такой как кисть, таким образом, но тем не менее он будет утилизирован должным образом, или мне нужно беспокоиться об этом?

g.DrawString("12", _ContentFont, new SolidBrush(Color.Black), new PointF(25, 25));

Ответы [ 2 ]

6 голосов
/ 20 апреля 2010

Нет, не будет.Попробуйте вместо этого:

using ( var brush = new SolidBrush(Color.Black) )
  g.DrawString("12", _ContentFont, brush, new PointF(25, 25));

Но когда дело доходит до черного, лучше всего просто:

  g.DrawString("12", _ContentFont, Brushes.Black, new PointF(25, 25));
1 голос
/ 20 апреля 2010

Нет.Он становится правомочным для утилизации.Там нет никакой гарантии, когда это действительно произойдет;это может продолжаться довольно долго.

В наши дни я бы посчитал это ошибкой, хотя знаю время, когда я тоже ничего не знал.

...