代码之家  ›  专栏  ›  技术社区  ›  ctor

仅展开setter并对getter c#[重复项]使用速记

  •  2
  • ctor  · 技术社区  · 7 年前

    有没有办法只实现setter并继续使用速记( get; )对于c#中的getter或其他方式?

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

    1 回复  |  直到 7 年前
        1
  •  8
  •   Titian Cernicova-Dragomir    7 年前

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

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

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