仅扩展 setter 并使用 getter c# 的简写

cto*_*tor 1 c# getter-setter

有什么方法可以只实现 setter 并get;在 c# 或其他方式中继续使用速记 ( ) 作为 getter 吗?

例如:在设置时将电子邮件转换为小写 -

public string Email { get; set { Email = value.ToLower(); } }
Run Code Online (Sandbox Code Playgroud)

我们可以以任何方式做到这一点吗?

Tit*_*mir 6

不,你不能。auto 属性语法创建了一个隐藏字段,您无法通过代码访问该字段,因此即使上述语法有效,您也无法设置该字段,但事实并非如此

使用最新 C# 的最短版本是

private string _Email     
public string Email { get => _Email; set => _Email = value.ToLower();  }
Run Code Online (Sandbox Code Playgroud)