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