首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将BindingSource.DataSource声明为泛型

将BindingSource.DataSource声明为泛型
EN

Stack Overflow用户
提问于 2018-03-23 22:35:31
回答 1查看 460关注 0票数 3

我试图在控件泛型中将bindingSource声明为泛型

代码语言:javascript
运行
复制
public partial class ABMControl<T> : UserControl
{
    public ABMControl()
    {
        InitializeComponent();
    }
}
partial class ABMControl<T>
{
    ...
    private void InitializeComponent()
    {
        ...
        this.bindingSource.DataSource = typeof(T)
        ...
    }
    ...
}

但对于设计师来说,这就是问题所在:

未能解析方法'InitializeComponent‘。解析器报告了以下错误“Type参数不支持的参数名称:Type parser”。请在“任务列表”中查找潜在错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-24 01:05:05

若要防止设计器错误,请在构造函数中设置绑定源的数据源。

当您将一段代码放入控件设计器的构造函数中时,反序列化器将不会尝试解析它。它也不会在您的控件的设计时运行,而在运行时和派生控件中,它也将运行。

以下是防止错误的措施:

代码语言:javascript
运行
复制
public partial class ABMControl<T> : UserControl
{
    public ABMControl()
    {
        InitializeComponent();
        this.bindingSource.DataSource = typeof(T)
    }
}

有关designer工作方式的更多信息,请查看下面的帖子,特别是查看包含几个错误但显示设计器的示例:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49459161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档