是否可以编写此属性:
string Error { get; }
Run Code Online (Sandbox Code Playgroud)
在表达式bodied syntax(=>)中,
例如:
string Title
{
get
{
return title;
}
}
Run Code Online (Sandbox Code Playgroud)
变为:
string Title => title;
Run Code Online (Sandbox Code Playgroud)
Jon*_*eet 12
不,因为这个:
string Error { get; }
Run Code Online (Sandbox Code Playgroud)
...是一个自动实现的属性.编译器在后台为您生成一个字段,但您无法在代码中引用该字段.如果需要使用支持字段,则需要自己声明:
private readonly string error;
string Error => error;
Run Code Online (Sandbox Code Playgroud)
这基本上就是编译器为你生成的东西 - 所以如果你想要它,那就自己写吧.IMO,这很有用.
如果您已经拥有该字段,则可以像上面一样编写属性,也可以将字段转换为属性,因此请使用以前使用该字段的属性.
(如果你想要一个只读的属性,但是有一个可变字段支持的属性,那么它更可行 - 如果你想要一个真正的只读属性,它就不能自动实现.它可以是一个公开可读的和私人可写的自动实现的财产.)