VisualStudioDesigner中的抽象通用UserControl继承在我的一个项目中,我使用了一个抽象的UserControl。为了能够在VisualStudio中设计此控件,我使用了此答案中建议的代码。现在我想使用另一个抽象的UserControl,它也是通用的。但是如果我这样做[TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider))]我会得到编译器错误CS0416:Propertyparametercannotusetypeparameter删除类型参数显然也不会编译。我无法从非泛型基类派生MyBaseControl因为它已经从泛型基类派生出来,所以我尝试用接口装饰并按如下方式使用它:[TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider))]这确实编译但是当我打开设计视图时,我的控件没有被渲染,而是出现错误,即提供的泛型参数的数量不等于泛型类型定义的元数。有没有办法来解决这个问题?我认为您有一个控件AbstractGenericBase:GenericBase,GenericBase是一个具有此定义的控件:GenericBase:UserControl。所以如果想在设计器中显示AbstractGenericBase,可以使用如下代码:usingSystem.ComponentModel;使用System.Windows.Forms;#ifDEBUGpublicabstractpartialclassAbstractGenericBase:NonGenericBase#elsepublicpartialclassAbstractGenericBase:GenericBase#endif{publicAbstractGenericBase(){InitializeComponent();}}}#ifDEBUGpublicclassNonGenericBase:GenericBase{}#endif注意以上是C#学习教程:VisualStudio设计器中抽象GenericUserControl继承分享的全部内容,如果对大家有用还需要了解更多关于C#学习教程,希望大家多多关注-本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: