2010-06-02 185 views
1

我在某个类中拥有公共属性。我想为这个属性设置一个默认值-1,没有像_MyField这样的私有变量(因为这个类中有太多的属性,我不会逐个添加它们)。公共属性的默认值

public int MyProperty { get; set; } 

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

UPDATE @ Aug 2015现在我们有C#6!

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

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

回答

3

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

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

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

+0

没有其他方法可以设置默认值吗?你知道我真的想要这样一个表达式: public int MyAttr = -1 {get; set;} – 2010-06-02 02:52:49

+2

Danny,这有点击败了自动属性的目的。 – 2010-06-02 02:55:27

0

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