有人可以帮助我解决此问题: 我使用c#Winforms作为伙伴创建了通用库“用户控件”:
public class EntityGenericBase<TModel> : UserControl
where TModel : class, IEntityClass, new()
{}
并且我创建了另一个用户控件,该控件继承了上面的“ EntityGenericBase”:
public class DepartmentView : EntityGenericBase<Department>
{
public DepartmentView():base()
{
InitializeComponent();
}
}
但是不幸的是,当我尝试在设计模式下查看用户控件时,出现以下错误:
“ EntityGenericBase`1 [TModel]”上的GenericArguments [0],“部门”违反了类型参数“ TModel”的约束。
备注:当我删除约束“ where子句”时,一切正常。
答案 0 :(得分:1)
如错误消息所述
GenericArguments [0],“部门”,位于“ EntityGenericBase`1 [TModel]”上 违反了类型参数“ TModel”的约束。
您的模范部门违反了一个或多个约束
example
部门不是这些中的一个或多个
答案 1 :(得分:1)
这是一个已知问题,唯一的解决方法似乎是重新启动 VS Designer error: GenericArguments[0], 'X' on 'Y' violates the constraint of type parameter 'Z'