На сколько НЕкоректно использовать такую вот "ленивую" конструкцию диспоуза:
protected new void Dispose()
{
var lst = GetType().GetProperties();
foreach (var item in lst)
{
if (item is IDisposable)
((IDisposable)item).Dispose();
}
base.Dispose();
}
и почему :)
Если в такой конструкции нету ничего плохого, почему такую конструкцию не используют повсеместно?
Да и почему вообще это не сделать "универсальным" диспоузом который (в теории) не нужно будет переопределять для того, что бы подчищать вручную все?
Как указали в комментариях, GetProperties возвращает массив элементов типа PropertyInfo
Данный тип не реализует интерфейс IDisposable, соответственно проверка
if (item is IDisposable)
всегда ложна и ни у какого поля не вызывается Dispose.
Таким образом: такую конструкцию не используют – потому что она не работает так как ожидается.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости