Tengo una pregunta hoy que involucra la clase StreamReader. Específicamente inicialización de esta clase mediante el parámetro de nombre de archivo, por ejemplo:C# StreamReader en una prueba/finalmente
TextReader tr = new StreamReader(fileName);
Obviamente, cuando se termina esta acción, es importante cerrar el flujo de la siguiente manera:
tr.Close();
me gustaría tener esto en una oportunidad/finalmente, el problema es que no puedo encontrar una manera de hacer esto. Aquí hay algunas variaciones que he encontrado que no funcionan:
try
{
var serializer = new XmlSerializer(type);
TextReader tr = new StreamReader(fileName);
var obj = serializer.Deserialize(tr);
}
finally
{
tr.Close();
}
y peor:
TextReader tr;
try
{
var serializer = new XmlSerializer(type);
tr = new StreamReader(fileName);
var obj = serializer.Deserialize(tr);
}
finally
{
tr.Close();
}
Así es posible tener una estrecha StreamReader en un fin?
Declarar tr TextReader; por lo que está disponible para el finalmente no es un problema. Pero usar es una mejor respuesta. – Paparazzi