自动属性默认值 [重复]
Posted
技术标签:
【中文标题】自动属性默认值 [重复]【英文标题】:Auto-property default value [duplicate] 【发布时间】:2014-01-07 09:26:24 【问题描述】:我可以在 C# 中生成具有默认值的自动属性吗?
public class MyClass
MyClass()
Reason = "my reason";
public string Reason get; set;
【问题讨论】:
你试过看看是否有效? 您是在问您提供的代码是否有效,或者是否有其他方法?对于自动属性 - 不,这是唯一的方法。 【参考方案1】:是的,你可以。确实。就像你展示的那样。
【讨论】:
反对票有什么用? (我原本想发布一个“是”,但不幸的是,SO 不允许我发布这么简短的答案。) 没有投反对票,但它不会工作as shown
因为构造函数不是公开的,所以 var mc = new MyClass()
甚至不会编译。
@Abbas:正如MSDN 中解释的那样,成员的默认可见性是private
,因此构造函数确实是不公开的。它只能从类中调用。 OP 在哪里需要 var mc = new MyClass();
才能编译?
没说他需要这个,我只是提了这个。但是你的回答是对的,@DimitarDimitrov,并不是要学究气,我只是想帮忙,我也+1。 :)
不,最好指出来。让我在给出 cmets/answers 之前想得更久。 ;)【参考方案2】:
是的,但是为了能够从您的类外部创建实例,请将您的构造函数公开。
public class MyClass
public MyClass()
Reason = "my reason";
public string Reason get; set;
【讨论】:
【参考方案3】:您必须添加一个默认构造函数并初始化自动属性值。
【讨论】:
他就是这么做的。他只是想知道它是否会起作用。 我在问这是否是正确/最好的方式 是的,这是唯一的方法。!! 我提出这个解决方案是因为它有效! ;)以上是关于自动属性默认值 [重复]的主要内容,如果未能解决你的问题,请参考以下文章