2010-03-08 18 views
9

Entiendo el concepto y las razones detrás de usar la instrucción using y la uso con cosas como recursos de archivos y conexiones remotas. Me preguntaba si es una buena práctica usar la instrucción using con formularios y diálogos de WinForm.Uso de la instrucción using con WinForms ... ¿Buenas prácticas?

using (MyDialog dlg = new MyDialog()) 
{ 
    if (dlg.ShowDialog() == EDialogResult.OK) 
    { 
     // Do Something 
    } 
} 

Gracias!

+0

Buen punto. ¿Qué es lo que se ha escuchado al envolver todo en los bloques try/catch/finally? –

Respuesta

7

Con cuadros de diálogo solamente. Pero luego es una muy buena práctica.

Notarás que no funciona alrededor de Show(), porque using(){} solo se puede usar en 1 método y no deseas volver a cerrar nunca después de Show().

+0

Por supuesto que tiene sentido en lo que respecta a solo usar con diálogos. :) –

+0

No entiendo por qué necesitarías un Dispose con ShowDialog mientras con Show you dont ... crea alguna inconsistencia en mi código todo el tiempo. Por lo general, también agrego un uso alrededor de ShowDialog, pero solo para que mi profiler no lo liste como una instancia desechable que no ha sido eliminada. ¿Hay alguna razón real por la que deba eliminarse? – stmax

+2

@stmax depende del alcance del formulario que se muestra. ShowDialog 'bloqueará' hasta que se cierre el formulario, de modo que el bloque que lo utiliza no terminará hasta después de que se haya cerrado el formulario. Por otro lado, Show muestra "instantáneamente", por lo que terminaría desechando un objeto que todavía está en uso. –

Cuestiones relacionadas