VS2005码分析:CA1063(电话dispose(true)和抑制最后确定)-有记录
-
19-08-2019 - |
题
我想坚持到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("...");
}
...
}
不隶属于 StackOverflow