Tengo una "pluma" variable de tipo System.Drawing.Pen que se asigna varias veces en un método particular. Quiero ponerlo dentro de la declaración "usando". ¿Como puedo hacer eso?
Pen pen = new Pen(Color.Gray); // some code which uses gray value pen = new Pen(Color.Green); // some code which uses green value pen = new Pen(Color.Red); // some code which uses red valueGracias por adelantado.
Bueno, Pen implementa IDisposable ya que asigna recursos no administrados ( HPEN ) y, por lo tanto, en general, se requiere el using de casos. En su código actual tiene una fuga de recursos :
Pen pen = new Pen(Color.Gray); // some code which uses gray value pen = new Pen(Color.Green); // <- from now on Pen(Color.Gray) is leaked // some code which uses green value pen = new Pen(Color.Red); // <- from now on Pen(Color.Green) is leaked // some code which uses red value Puede usar bolígrafos predefinidos (no se requiere using ):
Pen pen = Pens.Gray; // some code which uses gray value pen = Pens.Green; // some code which uses green value pen = Pens.Red; // some code which uses red value O si desea crear Pen s manualmente, envuélvalos using :
using (Pen pen = new Pen(Color.Gray)) { // some code which uses gray value } using (Pen pen = new Pen(Color.Green) { // some code which uses green value } using (Pen pen = new Pen(Color.Red)) { // some code which uses red value }