具有以下内容:
StringWriter sw = null;
try
{
sw = new StringWriter();
using (var xw = new XmlTextWriter(sw))
{
doc.WriteTo(xw);
return sw.ToString();
}
}
finally
{
sw?.Dispose();
}
在 Visual Studio 2015 中触发CA2202(不要多次处理对象)警告。
但是,如果将fianlly
块更改为:
finally
{
if (sw != null)
{
sw.Dispose();
}
}
这是块中空条件运算符的一些奇怪之处finally
还是什么,或者Visual Studio中的分析工具根本不理解它?