У меня есть этот класс:
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);
}
}
}
И Code Analysis выдает это сообщение:
CA1063 Изменить Dispose () так, чтобы он вызывал Dispose (true), затем вызываетGC.SuppressFinalize для текущего экземпляра объекта и затем возвращает.
И этот:
CA1063 Убедитесь, что Dispose () объявлен как открытый и запечатанный.
Оба в этой строке:
public abstract void Dispose();
Может ли быть так, что он хочет, чтобы Dispose()
был реализован в ImplementsIDisposable
вместо InnerClass
?