首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用CA2000运行StyleCop时出现VS2010 Microsoft.Reliability错误

使用CA2000运行StyleCop时出现VS2010 Microsoft.Reliability错误
EN

Stack Overflow用户
提问于 2011-05-24 02:00:34
回答 1查看 893关注 0票数 1

使用此文件编写代码,

代码语言:javascript
复制
try
{
    FileStream aFile = new FileStream(doFilePath, FileMode.OpenOrCreate);
    StreamWriter sw = new StreamWriter(aFile);
    sw.WriteLine(templateString, fileNameList, topLevelTestbench);
    sw.Close();
}
catch (IOException e)
{
    Console.WriteLine("An IO exception has been thrown! {0}", doFilePath);
    Console.WriteLine(e.ToString());
    Console.ReadLine();
    return;
}

我在StyleCop上看到了这个错误消息。

代码语言:javascript
复制
Error   6   CA2000 : Microsoft.Reliability : 
In method 'DoFile.Generate(string, string, string)', call System.IDisposable.Dispose
on object 'aFile' before all references to it are out of scope.

代码可能出了什么问题?

已添加

当我在没有区域性信息的情况下使用Format方法时,我再次从StyleCop得到错误。有了这段代码,它就可以工作了。

代码语言:javascript
复制
using System.Globalization;

try  
{   
    string line = String.Format(CultureInfo.InvariantCulture, templateString, fileNameList, topLevelTestbench);   
    File.AppendAllText(doFilePath, line); 
}  
catch (IOException e)            
{
    Console.WriteLine("An IO exception has been thrown! {0}", doFilePath); 
    Console.WriteLine(e.ToString()); 
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-24 02:02:15

它警告你,你正在创建一个IDisposable的实例,这个实例只在函数中使用,并且没有正确地在它上面调用Dispose。这是因为您使用了FileStream实例。解决此问题的正确方法是使用using

代码语言:javascript
复制
using (FileStream aFile = new FileStream(doFilePath, FileMode.OpenOrCreate)) {
  StreamWriter sw = new StreamWriter(aFile);
  sw.WriteLine(templateString, fileNameList, topLevelTestbench);
  sw.Close();
}

编辑

注意:要做到这一点,一种更简单的方法是使用File.AppendAllText

代码语言:javascript
复制
try 
{
  var line = String.Format(templateString, fileNameList, topLevelTestbench);
  File.AppendAllText(doFilePath, line);
} 
catch (IOException e)
{
  ...
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6101024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档