空得到表达的身体语法?

msh*_*hwf 1 c#

是否可以编写此属性:

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,这很有用.

如果您已经拥有该字段,则可以像上面一样编写属性,也可以将字段转换为属性,因此请使用以前使用该字段的属性.

(如果你想要一个只读的属性,但是有一个可变字段支持的属性,那么它更可行 - 如果你想要一个真正的只读属性,它就不能自动实现.它可以是一个公开可读的和私人可写的自动实现的财产.)