我在某个班级有公共财产。我希望这个属性的默认值为-1而没有像_MyField这样的私有变量(因为这个类中有太多属性,我不会逐个添加它们)。
public int MyProperty { get; set; }
我认为[DefaultValueAttribute]不能解决这个问题。有任何想法吗?感谢。
更新@ 2015年8月现在我们有C#6!
public int MyProperty { get; set; } = 100;
public string EasyToUse { get; } = "YES!";
答案 0 :(得分:3)
您基本上有两个选项 - 您可以在对象的构造函数中设置属性,或使用私有字段。
就个人而言,我觉得构造函数是最好的选择,因为对于阅读代码的人来说,很明显你的意图是什么样的新课程。
[DefaultValue]
是一个用于可视化设计器功能的属性,对您的类逻辑没有任何影响。
答案 1 :(得分:0)
只需在对象的构造函数中设置this.MyAttr = -1
赋值。