Несколько лет спустя, но, может быть, это кому-нибудь поможет ...
Я попробовал метод Эрика, так как он показался мне хорошим решением, но продолжал получать предупреждение CA2202 , когда запускал код VSанализ по нему.
В нижней части CA2202 Microsoft рекомендует использовать следующее:
(я немного изменил его для "XmlReader".)
Stream stream = null;
try
{
stream = new FileStream("file.txt", FileMode.Open);
using (XmlReader reader = new XmlReader (stream))
{
stream = null;
// Use the reader object...
}
}
finally
{
if(stream != null)
stream.Dispose();
}
вместо ...
using (Stream stream = new FileStream("file.txt", FileMode.Open))
{
using (XmlReader reader = new XmlReader (stream))
{
// Use the reader object...
}
}
Это намного дольше, но, по крайней мере, не выдает никаких предупреждений.