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