私は、VB6 コード (VB5 からアップグレードされたもの) から Visual Studio (元は 1.0 または 1.1) によって「アップグレード」された VB.NET WinForms アプリに取り組んでいます。このアプリのメンテナンスを引き継いでから作成したいくつかの新しいフォームを除いて、アプリケーション内のすべてのフォームには DefInstance というメソッドがあり、フォームのメモリ内コピーがあればそれを取得できます。私が理解できないのは、その理由です。私が作業しているスコープ内にすぐにない場合、メモリ内のフォームオブジェクトを参照する必要があるのはいつですか。私の考えでは、これはあらゆる種類の適切なプログラミング原則に違反しており、メモリ リークまたはさらに悪いことへの誘因のように思えます。
質問: (1) この DefInstance は、このアプリの VB6 遺産の単に不幸な名残りですか? (2) アプリケーション全体で DefInstance メソッドを削除する必要がありますか?