通用winforms控件中的继承

通用winforms控件中的继承,winforms,generics,Winforms,Generics,是否可以让winforms designer为以下场景的Control2工作 public class Control1 <T> : UserControl {} public class Control2 <T> : Control1<T> {} 公共类Control1:UserControl{} 公共类Control2:Control1{} 设计器无法处理泛型类型,因为它不知道为“T”输入哪种类型。您需要创建一个具体的类,以使其工作: public c

是否可以让winforms designer为以下场景的Control2工作

public class Control1 <T> : UserControl {}

public class Control2 <T> : Control1<T> {}
公共类Control1:UserControl{}
公共类Control2:Control1{}

设计器无法处理泛型类型,因为它不知道为“T”输入哪种类型。您需要创建一个具体的类,以使其工作:

public class StringControl2 : Control2<string> {}
公共类StringControl2:Control2{}

我收到以下消息:无法为此文件显示设计器,因为其中的任何类都无法设计。设计者检查了文件中的以下类:Control2。无法加载基类Control1。确保程序集已被引用且所有项目均已生成。这是可能的-您需要重写
Initialize
方法和构造函数,尽管我从未对具有泛型参数的UserControl执行过此操作。看看这个和这个。