Tengo un método que tiene un bloque try/catch/finall dentro. Dentro del bloque try, declaro SqlDataReader como sigue:Llamar a Dispose() frente a cuando sale un objeto scope/method termina
SqlDataReader aReader = null;
aReader = aCommand.ExecuteReader();
En el bloque finally, los objetos que están dispuestas de forma manual de son los que se establece en el nivel de clase. Entonces, ¿los objetos del método que implementa IDisposable, como SqlDataReader anterior, se eliminan automáticamente? Se invoca Close() en unReader después de que un ciclo while se ejecuta para obtener el contenido del lector (que debe ser Dispose(), ya que llama a Close()). Si no hay una llamada a Cerrar(), ¿se cerraría/eliminaría este objeto automáticamente cuando el método finaliza o el objeto queda fuera del alcance?
EDIT: Soy consciente de la instrucción using() pero hay situaciones que me confunden. Gracias
Gracias