在我的一个项目中,我使用了一个抽象UserControl。为了能够在Visual Studio中设计这个控件,我使用了this answer中提出的代码。现在我想用另一个通用的抽象UserControl来使用它。但是,如果我做Visual Studio设计器中的抽象泛型UserControl继承
[TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider<MyBaseControl<T>, UserControl>))]
我得到的编译器错误
CS0416:属性参数不能使用类型参数
删除类型参数显然没有任何编译。
我不能从一个非一般的基类派生MyBaseControl,因为它已经从一个普通的基类派生,所以我试图用一个接口装饰它,使用它,像这样:
[TypeDescriptionProvider(typeof(AbstractControlDescriptionProvider<IMyBaseControl, UserControl>))]
这做编译但是当我打开设计查看我的控制没有得到呈现,而不是我的错误
提供的通用参数的个数不等于泛型类型定义的元数。
有没有办法解决这个问题?
Arributes不与仿制药相同的方式工作,因此为什么'[TypeDescriptionProvider(typeof',因为它不能使用仿制药 –