我已经看过关于这个问题的帖子,但我似乎无法通过遵循此处的示例和其他在线位置来摆脱警告。你看到我错过了什么以避免得到CA2202 Warning
说:
为避免生成 System.ObjectDisposedException,您不应在一个对象上多次调用 Dispose。
我认为 using 会处理xmlReader
. 它是否也在处理stringReader
?
StringReader stringReader = null;
try
{
stringReader = new StringReader(mOutputXmlString);
using (XmlReader xmlReader = XmlReader.Create(stringReader, lXmlReaderSettings))
{
addResponse = (AddResponseStructure)mDeserializer.Deserialize(xmlReader);
alertDetail = new AlertHostDetail(addResponse);
}
}
catch
{
_loggingManager.Log(LoggingHelpers.LoggingLevel.Error, "Error deserializing object.");
}
finally
{
if (stringReader != null)
stringReader.Dispose();
}
警告stringReader.Dispose()
在线。