Я смотрю на некоторый код vb.net, который я только что унаследовал, и не могу понять, почему оригинальный разработчик сделает это.Dispose & Finalize для коллекций свойств?
В принципе, каждый класс «Домен» представляет собой набор свойств. И каждый из них реализует IDisposable.Dispose и переопределяет Finalize(). Нет базового класса, поэтому каждый из них просто расширяет Object.
Dispose устанавливает каждый отдельный var в Nothing или вызывает _private. Укажите, когда свойство является другим объектом домена. Существует частный var, который отслеживает расположенное состояние, а последнее в Dispose - GC.suppressFinalize (Me)
Завершить вызовы Me.Dispose и MyBase.Finalize.
Есть ли какая-либо польза для этого? Любой вред? Нет никаких ресурсов без управления, нет связей db, ничего, что, казалось бы, не нуждается в этом.
+1 для withevents упоминание – Randolpho
также для «ранних дней .Net» упоминание: есть много старого плохого кода, который на самом деле не является ошибкой разработчика: просто слабая связь того, как все сочетается , –
точно мой пункт. Когда .Net вышел, большинство разработчиков VB6 изо всех сил пытались понять, что с ним делать. И введение GC и одноразового шаблона было одним из тех пунктов борьбы. Для того чтобы понять, что нужно изменить, нужно было много инвестиций, и большинство людей не имели доступа к этой информации, поэтому они пошли со своими обычными образцами. –