TopMost
と呼ばれるカスタムフォームのプロパティの変更を追跡したい(Form)
。は使用できません。またはではないoverride
ため、暗黙的に参照している間は効果がないため、キーワードを使用できません。TopMost
abstract
virtual
new
そのようなタスクに対処するための最良の方法は何ですか?基本クラス( )に「change」イベントもONSomething仮想メソッドもオーバーライドせず、プロパティがまたはとしてマークされていないTopMost
限り、代わりに任意のプロパティを置き換えることができます。Form
abstract
virtual
例:
私はに基づいて多くのクラスを持っていますForm
MyForm1:Form, class MyForm2:Form, class MyForm_n:Form
一部の「ファクトリ」は、Form
タイプのインスタンスを返します
Form f = GetMyForm();
そして最後に私はします
f.TopMost = !f.TopMost;
取り決めは、他のリターンタイプを実際に使用することはできないということですForm GetMyForm()
。interface
実際のもの以外の基本クラスは使用できませんForm
(実際、ファクトリはなく.ParentForm
、何らかのコントロールのプロパティを使用しています)。
タスクを達成し、コードを可能な限りクリーンに保つための最良の方法は何ですか?前もって感謝します。