我有这个类:
public abstract class ImplementsIDisposable : IDisposable
{
public abstract void Dispose();
private class InnerClass : ImplementsIDisposable
{
private bool disposedValue;
public override void Dispose()
{
if (!disposedValue)
{
doSomething();
disposedValue = true;
}
GC.SuppressFinalize(this);
}
}
}
代码分析抛出以下信息:
CA1063 修改Dispose(),使其调用Dispose(true),然后调用GC.SuppressFinalize当前对象实例,最后返回。
还有这个:
CA1063 确保将Dispose()声明为public和sealed。
两者都在这一行中:
public abstract void Dispose();
它是不是希望在
ImplementsIDisposable
内实现Dispose()
,而不是在InnerClass
中?