Me gustaría saber cuándo debería y no debería estar envolviendo cosas en un bloque de USO.C# USING keyword: ¿cuándo y cuándo no usarla?
Por lo que entiendo, el compilador lo traduce en un try/finally, donde finalmente llama a Dispose() en el objeto.
Siempre utilizo una UTILIZACIÓN en torno a las conexiones de bases de datos y el acceso a archivos, pero es más por hábito que por comprensión al 100%. Sé que deberías explícitamente (o con un uso) Dispose() objetos que controlan los recursos, para garantizar que se liberen al instante en lugar de cuando el CLR lo parezca, pero ahí es donde se rompe mi comprensión.
¿No se eliminan los IDisposables cuando salen del alcance?
¿Solo necesito usar USING cuando mi objeto hace uso de Dispose para arreglarse?
Gracias
Editar: Sé que hay un par de otras funciones en la palabra clave usando, pero estoy más interesado en las respuestas relacionadas con el CLR y exactamente lo que está pasando en el interior
Andrew
Y si utiliza esta técnica, por favor, no olvide el '#if DEBUG'. Ese eres tú, estoy pensando en JetBrains, con tus 30000 objetos en la cola del finalizador de Visual Studio ... –
Oh, eso es desafortunado. –
+1, ojalá pudiera hacer más de 1 voto: p ... excelente conocimiento compartido en stackoverlow ... es genial ... –