Yip*_*Yay 5 c# interface default-value
我有一些实现该接口的接口和类:
public interface IWhatever {
bool Value { get; set;}
}
public class Whatever : IWhatever {
public bool Value { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
现在,是否C#允许在不使用某些支持字段的Value情况下拥有一些默认值?
Bin*_*ier 13
更新
从C#6(VS2015)开始,这种语法完全有效
public bool Value { get; set; } = true;
Run Code Online (Sandbox Code Playgroud)
就像为只读属性设置一个值一样
public bool Value { get; } = true;
Run Code Online (Sandbox Code Playgroud)
旧的,前C#6答案
Spoiler警告那些令人兴奋的性质:以下代码不起作用
你问,"我可以这样做吗?"
public bool Value { get; set; } = true;
Run Code Online (Sandbox Code Playgroud)
不,你不能.您需要在类的构造函数中设置默认值