Sobre la palabra reservada “using” en C#

Antes que nada perdón por el título, me dolió muchísimo escribir palabra reservada en lugar de escribir como estamos más acostumbrados keyword en argentina. Pero decidí utilizar su traducción porque después de todo este es un blog en español y mucha gente que lo consulta acostumbra a utilizar únicamente español en sus consultas.

Hecho este descargo, el motivo fue que hice un pequeño programita que escribía en un archivo, para ello me basé en la ayuda de Microsoft que utilizaba el keyword using de la siguiente manera

using(StreamWriter w = new StreamWriter("BuildAll.sql")) {
// hago lo que quiero con el writer
}

Un poco tardíamente (ya que esto existe hace varios años)  me surgió la duda de para que servía realmente using. El saber popular dice que es para asegurarse que se liberan los recursos que podrían haberse reservado, pero esta explicación no era suficiente para mi y quería saber realmente como funcionaba.

Consultando en internet encontré en CodeProject el artículo titulado The “using” Keyword in C# en el cual el autor comenta  su investigación sobre el asunto. Recomiendo a cualquiera que le interese un poco el funcionamiento interno de las cosas que le pegue una leida a ese artículo.

En resumen lo que dice es que lo que hace este keyword es crear un bloque try..finally, en donde como última acción se realiza un dispose del objeto que figura en el parámetro del using. Y que si la clase que se esta intentando limpiar no implementa correctamente la interfaz IDisposable no sirve de mucho.

En fin, esto más que nada me pareció una curiosidad que a otros les parecio interesante que escribiera aquí.


One Response to “Sobre la palabra reservada “using” en C#”

  1. muy buen dato!

    Gracias!

Discussion Area - Leave a Comment