Это как "правильно реализовать IDisposable"?

Я запустил Анализ кода на одном из моих проектов, и он дал мне два эффекта, а именно:

CA1063 Внедрение IDisposable правильно Предоставьте переопределяемую реализацию Dispose(bool) в 'UserStore' или пометьте тип как закрытый. Вызов Dispose(false) должен только очистить собственные ресурсы. Вызов Dispose(true) должен очистить как управляемые, так и собственные ресурсы.

... в этой строке кода:

public class UserStore : IUserStore<User>, IUserPasswordStore<User>,  IUserClaimStore<User>

...и это:

CA1063 Реализуйте IDisposable правильно. Измените метод UserStore.Dispose(), чтобы он вызывал Dispose(true), затем вызывал GC.SuppressFinalize для текущего экземпляра объекта ("this" или "Me" в Visual Basic) и затем возвращал.

... на моем пустом

public void Dispose()
{
    //
}

Могу ли я убить двух птиц одной окаменелой грязью, сделав это:

public override void Dispose()
{
    Dispose(true);
    GC.SuppressFinalize(this);
}

? Это то, что он предлагает?

ОБНОВИТЬ

Чтобы ответить на мой вопрос (вроде), очевидно, нет - я подумал, что просто добавлю код и посмотрю, будет ли Анализ кода затем возвращать желаемое "NRBQ.API.UserStore.Dispose()": не подходит найден способ переопределить "

0 ответов

Другие вопросы по тегам