使用XmlReader和StringReader处理XML字符串时,CA2000 StyleCop错误消息

| 我使用StringReader和XmlReader来处理具有XML代码的字符串。
private static string GetData(string jobResultXml, string pipeName)
{
    StringBuilder result = new StringBuilder();
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ConformanceLevel = ConformanceLevel.Fragment;

    XmlReader reader = XmlReader.Create(new StringReader(jobResultXml), settings);
它可以正常编译/构建,但是当我运行StyleCop时,出现了此错误消息。
Error   6   CA2000 : Microsoft.Reliability : In 
method \'ModelsimCommunicator.GetPipeData(string, string)\', call System.IDisposable.Dispose 
on object \'new StringReader(jobResultXml)\' before all references to it are out of scope.
要避免此StyleCop错误消息,需要做什么?     
已邀请:
尝试:
private static string GetData(string jobResultXml, string pipeName)
{
    StringBuilder result = new StringBuilder();
    XmlReaderSettings settings = new XmlReaderSettings();
    settings.ConformanceLevel = ConformanceLevel.Fragment;

    using (StringReader stringReader = new StringReader(jobResultXml))
    using (XmlReader xmlReader = XmlReader.Create(stringReader, settings))
    {
    }
StringReader
IDisposable
,因此StyleCop希望您在超出范围之前进行处理。
using()
做到了。同样,当您在那里时,最好将ѭ5用作ѭ7,因为那也是ѭ4:)     

要回复问题请先登录注册