在 .NET 中处理和返回值

2024-01-04

考虑以下:

        TextReader reader = new StreamReader(file);
        XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
        return (T)xmlSerializer.Deserialize(reader);

And

        using (TextReader reader = new StreamReader(file))
        {
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
            return (T)xmlSerializer.Deserialize(reader);
        }

后一段代码实际上会发生什么? Dispose() 会被调用吗?


是的,它会被调用。

The using语句是语法糖:

try
{
    // Do stuff
    return;
}
finally
{
    // Dispose
}

and the finally即使在return.

所以你可以安全地使用这个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 .NET 中处理和返回值 的相关文章

随机推荐