【问题标题】:Default value for public properties公共属性的默认值
【发布时间】:2011-02-26 15:14:46
【问题描述】:

我在某个班级有一个公共财产。我想要这个属性的默认值-1,没有像_MyField这样的私有变量(因为这个类中的属性太多,我不会一一添加)。

public int MyProperty { get; set; }

[DefaultValueAttribute] 我认为不适用于此问题。有任何想法吗?谢谢。

2015 年 8 月更新现在我们有了 C# 6!

public int MyProperty { get; set; } = 100;

public string EasyToUse { get; } = "YES!";

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    您基本上有两个选择 - 您可以在对象的构造函数中设置属性,或者使用私有字段。

    就个人而言,我认为构造函数是最好的选择,因为阅读您的代码的人很清楚您对类的新实例的意图是什么。

    [DefaultValue] 是用于视觉设计器功能的属性,对您的类逻辑没有影响。

    【讨论】:

    • 没有其他方法可以设置默认值?你知道我真的想要这样的表达式:( public int MyAttr = -1 { get; set; }
    • 丹尼,这有点违背了自动属性的目的。说真的。
    【解决方案2】:

    只需在对象的构造函数中设置this.MyAttr = -1 赋值即可。

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2011-12-16
      • 1970-01-01
      • 2012-10-16
      • 2010-10-16
      相关资源
      最近更新 更多