多个抽象表单继承
本文关键字:继承 表单 抽象 | 更新日期: 2023-09-27 18:17:31
我有一个抽象的基本控件BaseControl
,我用下面的帖子解决了子窗体不显示的问题。
现在,我有很多控件共享一些公共属性,我想为它们创建一个中间抽象类来重新组合不同的公共属性,并强制所有后代实现一些其他属性。
[TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider<BaseControl, UserControl>))]
public abstract partial class BaseControl : UserControl {
...
...
...
}
[TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider<BaseControl2, BaseControl>))]
public abstract partial class BaseControl2 : BaseControl {
...
...
...
}
不幸的是,这不起作用,设计师抱怨不能为后代控件创建抽象类BaseControl2
的实例。
有什么建议如何解决这个问题吗?
您需要了解AbstractControlDescriptionProvider
是如何工作的-如果类型是抽象的,它将其替换为非抽象的基类型。
您指定了一个抽象类型作为非抽象基类型,所以显然它不能工作:)