考虑以下几点:
TextReader reader = new StreamReader(file);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
return (T)xmlSerializer.Deserialize(reader);
和
using (TextReader reader = new StreamReader(file))
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
return (T)xmlSerializer.Deserialize(reader);
}
后一段代码实际上会发生什么?会调用 Dispose() 吗?
最佳答案
是的,它会被调用。
using
语句是语法糖:
try
{
// Do stuff
return;
}
finally
{
// Dispose
}
并且 finally
甚至在 return
时也会被调用。
所以你可以安全地使用它。
关于c# - 在 .NET 中处理和返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7254815/