Удалять объект System.Drawing хорошо , однако, если вы пропустите один или два, когда получите исключение и т. Д., Это не конец света. (Другие объекты, такие как открытые файлы и соединения с базой данных должны быть всегда должны быть расположены)
Наличие большого количества операторов «Using» по всему коду делает его более сложным для понимания. Поэтому в случае объекта System.Drawing рассмотрим , просто вызвав Dispose () для них в конце метода.
В прошлом я использовал класс, который я написал, «Dustcart», который реализует IDisposable и содержит коллекцию объектов для удаления. Затем вы можете написать код как:
using(var dustcart = new Dustcard())
{
var p = dustcart.Add(new Pen(red, etc));
var b = dustcart.Add(new Brush(black));
Pen t;
if (someFlag)
{
t = p;
}
else
{
t = dustcard.Add(new Pen(etc));
}
}