На сколько НЕкоректно использовать такую вот "ленивую" конструкцию диспоуза:
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
.
Таким образом: такую конструкцию не используют – потому что она не работает так как ожидается.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Translate просто телепортирует объект через две секундыМоя задача сделать движение объекта так: в одну сторону две секунды, в другую сторону...
У меня есть сайт, там я должен проходить регистрацию, я хочу автоматизировать этот процесс
Хочу сделать чтобы в зависимости от выбранного input отправлялось на нужный метод, Как можно сделать ссылку на этот инпут?
Пару дней назад в cefsharp добавили поддержку расширенийНикакой документации как добавить расширения я не нашел, хотя в коммитах есть инфа