今天我有一个问题涉及到StreamReader类。具体来说是使用文件名参数初始化该类,例如:
TextReader tr = new StreamReader(fileName);
显然,当此操作完成后,关闭流是很重要的:
tr.Close();
我希望将这段代码放入 try / finally 块中,但是我找不到方法。以下是一些我发现行不通的变化:
try
{
var serializer = new XmlSerializer(type);
TextReader tr = new StreamReader(fileName);
var obj = serializer.Deserialize(tr);
}
finally
{
tr.Close();
}
而且更糟糕的是:
TextReader tr;
try
{
var serializer = new XmlSerializer(type);
tr = new StreamReader(fileName);
var obj = serializer.Deserialize(tr);
}
finally
{
tr.Close();
}
在 finally 块中关闭 StreamReader,这样做是否可行?