我想跟踪TopMost
我的自定义表单中的属性更改,这些表单称为(Form)
. 我不能使用override
, 因为TopMost
is not abstract
or virtual
,所以我不能使用new
关键字,因为它在隐式引用时不起作用。
处理此类任务的最佳方法是什么?我们可以替换任何属性TopMost
,只要基类 ( Form
) 既没有“更改”事件,也没有要覆盖的 ONSomething 虚拟方法,并且我们的属性没有标记为abstract
or virtual
。
例子:
我有很多基于Form
MyForm1:Form, class MyForm2:Form, class MyForm_n:Form
一些“工厂”返回Form
类型的实例
Form f = GetMyForm();
最后我做到了
f.TopMost = !f.TopMost;
交易是我不能真正使用任何其他返回类型Form GetMyForm()
。除了实际的基类之外,我不能使用interface
其他基类Form
(实际上,没有工厂,我使用.ParentForm
某些控件的属性)。
完成任务并保持代码尽可能干净的最佳方法是什么?提前致谢。