首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止Windows窗体设计器为属性生成默认值赋值?

如何防止Windows窗体设计器为属性生成默认值赋值?
EN

Stack Overflow用户
提问于 2010-06-03 04:57:21
回答 1查看 3K关注 0票数 8

我有一个用户控件,它的属性是引用类型。Windows窗体设计器不断生成将属性的初始值赋值为null的代码。我如何防止这种情况发生?

我尝试添加Reset和ShouldSerialize方法-- Reset有一个空的主体,而ShouldSerialize总是返回false --但是不起作用。我还应用了BrowsableAttribute并将其设置为false。

编辑:

属性的类型是同一项目中的类。它不是组件或控件,只是继承自Object的普通类。此外,属性的setter调用一个使用属性值作为其参数的方法,并且该方法不接受null作为有效参数。

示例:

代码语言:javascript
运行
复制
public MyClass Property1 
{
   get { return _property1; }
   set
   {
        _property1 = value;
        SomeMethod(value); // This method throws ArgumentNullException;
   }
}

注意:我确实意识到get和set方法在这里可能更合适。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-03 05:36:08

黑,我可以用一小段。告诉设计器永远不应该序列化属性的值:

代码语言:javascript
运行
复制
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
    public Image Aardvark { get; set; }
票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2961534

复制
相关文章

相似问题

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