代码之家  ›  专栏  ›  技术社区  ›  Daniel Möller

C-我可以用额外的操作定义一个属性的“set”方法,而不为值创建一个私有的var吗?

  •  0
  • Daniel Möller  · 技术社区  · 6 年前

    通常,我会看到这样的实现:

    private string _privateProperty;
    public string PublicProperty 
    {
        get { return _privateProperty; }
        set { DoSomething(); _privateProperty = value; }
    }
    

    但是否真的需要额外的VaR呢?
    我不能做类似的事吗 { get; set; } 包含额外的方法?

    //pseudo code
    public string PublicProperty { get; set {DoSomething(); <set_value>; }
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   Transcendent    6 年前

    来自 documentation :

    在C 3.0及更高版本中,自动实现的属性使 属性声明更简洁 当不需要附加逻辑时 在属性访问器中。

    所以暂时你不能。