Това ли е как да внедрите IDisposable правилно?

Изпълних Code Analysis на един от моите проекти и това ме размаха два пъти с пръст, а именно:

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) и след това връща .

...на моя празен Dispose:

public void Dispose()
{
    //
}

Мога ли да убия двама птици с една вкаменена буца мръсотия, като направя следното:

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

? Това ли предполага?

АКТУАЛИЗИРАНЕ

За да отговоря на въпроса си (нещо като), очевидно не - реших, че просто ще добавя кода и ще видя дали анализът на кода след това ще върне обратно желания „'NRBQ.API.UserStore.Dispose()': не е подходящ метод е намерен за отмяна"


person B. Clay Shannon    schedule 09.07.2014    source източник
comment
stackoverflow.com/questions/605466/   -  person Fabian Bigler    schedule 09.07.2014
comment
stackoverflow.com/questions/2605412/ и има също документация за msdn msdn.microsoft.com/en-us/library/ms244737.aspx   -  person Andreas    schedule 09.07.2014
comment
stackoverflow.com/questions/ 538060/ любимата ми ))   -  person Rustam    schedule 09.07.2014