各 Page クラスが継承する抽象 BasePage クラスがあります。コア機能とは別に、ほとんどすべての派生クラスが実装する反復的なタスクを BasePage でカバーしたいと考えています。ただし、これを行うには、派生クラスで定義されているコントロール (ドロップダウンリスト、グリッドビュー、メニューなど) への参照を BasePage クラスが保持する必要があります。
私の質問は、派生 Page クラスで定義されたコントロール参照を親クラスに渡す最良の方法は何ですか?
次のいずれも、実際に「最良の」ソリューションを提供しません。
派生クラスのコントロールの Id と同じ名前の変数を宣言するベース ページ。これにより、ASP.NET デザイナは派生クラスでコントロールを再作成しなくなります。(派生クラスはハードコードされた名前を知り、使用することを余儀なくされているので、私はこれが好きではありません)
抽象プロパティを作成し、派生クラスにコントロール参照を返すように強制します (CON: 場合によっては、派生クラスにそのようなコントロールが含まれない場合があります)
コントロールを関数呼び出しパラメーターとして渡します (CON: 関数呼び出しの繰り返しコードが必要です。関数自体は BasePage にある必要さえありません)。