C#我可以创建一个获取并设置另一个属性的属性吗?

时间:2017-03-03 02:55:12

标签: c#

我遇到了几次我想制作一个获取并设置另一个属性的属性。当然,我知道我可以这样做:

class Foo {

  public int Bar {
    get; set;
  }

  public int Baz {
    get {
      return Bar;
    }
    set {
      Bar = value;
    }
  }

}

但我想知道是否有更快的方法来做到这一点。

1 个答案:

答案 0 :(得分:1)

不,没有这样的快捷语法 - 明确地为至少一个属性实现get / set是可以的。

通过多个属性更改相同值的能力让人感到困惑。确保您确实需要这样做 - 即如果您正在实施接口,则可以将其中一个接口设置为只读。或者考虑至少一个接口的显式实现,以最小化同一属性的两个setter的可见性。

如果将属性设置为只读,则可以将C#6语法用于较短的get-only属性:

  public int Bar => Baz;