我想坚持到VS2005代码分析的规则对于一个新的项目。我有这个方法:

public void Dispose()
{
    Console.WriteLine("Dispose() called");
    Dispose( true );
    GC.SuppressFinalize(this);
}

(控制台的电话将成为一个log4net呼吁在某一点上,我们一直感兴趣日志记录的处置对于我们的一些类型)。

所存在的控制台调试线触发器,这个错误:

错误1CA1063:Microsoft。设计:修改PerfectDisposableClass.Dispose():无效,所以,它呼吁处置(真实的),然后呼吁GC。SuppressFinalize在目前的对象的实例('这个'或'我'在VB),然后返回。F:\Visual 工作室2005年\项目\DisposeAndFinalize\DisposeAndFinalize\PerfectDisposableClass.cs26DisposeAndFinalize

而不是诉诸杂注指令有没有一种方法来这?也许写我自己的规则?此外,爱尔兰现有的规则在大会的某个地方我可以看看反射?

有帮助吗?

解决方案

你可以把记录发言内处理(bool处置)的方法保持在指导原则:

public void Dispose(bool disposing)
{
  if (disposing)
  {
     Console.WriteLine("...");
  }
  ...
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top