Я работаю над приложением VB.NET WinForms, которое было «обновлено» Visual Studio (изначально 1.0 или 1.1) из кода VB6 (который сам был обновлен с VB5). За исключением нескольких новых форм, которые я создал с тех пор, как принял на себя обслуживание этого приложения, все формы в приложении имеют метод DefInstance, который позволяет вам получить копию формы в памяти, если она есть. Что я не могу понять, так это почему: когда мне когда-нибудь нужно будет ссылаться на объект формы в памяти, когда он находится не в той области, где я работаю. На мой взгляд, это нарушает все виды принципов звукового программирования и выглядит как приглашение к утечкам памяти или еще хуже.
Вопросы: (1) эта вещь DefInstance - просто неудачный остаток наследия VB6 этого приложения, и (2) я должен указать на удаление методов DefInstance во всем приложении?