【问题标题】:Expand only setter and use shorthand for getter c# [duplicate]仅扩展setter并使用getter c#的简写[重复]
【发布时间】:2017-09-11 20:46:13
【问题描述】:

有没有办法只实现 setter 并继续使用简写 (get;) 在 c# 或其他方式中获取 getter?

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

public string Email { get; set { Email = value.ToLower(); } }

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

【问题讨论】:

  • 简单地说,不,你不能。您需要在自动实现 get;set; 或使用支持字段手动实现之间做出决定。
  • 设置电子邮件的无限循环。您应该使用私有属性变量来转换它。

标签: c# getter-setter


【解决方案1】:

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

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

private string _Email     
public string Email { get => _Email; set => _Email = value.ToLower();  }

【讨论】:

    猜你喜欢
    • 2011-06-27
    • 2013-05-24
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    相关资源
    最近更新 更多