通用用户控件设计器错误:无法创建堆栈的新保护页面

时间:2017-07-06 17:03:09

标签: c# winforms generics

我有一个Generic UserControl作为打击:

 public partial class TreeNodeView<C,T>: UserControl 
    {
        public TreeNodeView(C foo, T foo1)
        {
            InitializeComponent();
        }
    }

如下所示更改分部类:

partial class TreeNodeView<C, T>

因为在部分设计师类中出现此错误:

  

使用泛型类型&#39; TreeNodeView&#39;需要2个类型参数

排队:

System.ComponentModel.ComponentResourceManager resources = 
new System.ComponentModel.ComponentResourceManager(typeof(TreeNodeView));

将其更改为:

System.ComponentModel.ComponentResourceManager resources = new 
System.ComponentModel.ComponentResourceManager(typeof(TreeNodeView<C,T>));

代码编译成功,但想看设计师我看到ma messagebox:

  

无法创建堆栈的新防护页面

当按OK视觉工作室立即关闭。谁知道我错了什么?

1 个答案:

答案 0 :(得分:2)

您无法设计一种通用类型的控件。 WinForms Designer不支持此功能。

将控件更改为非泛型类型并改为使用泛型方法,或尝试设计不再属于通用类型的派生类型。