我遇到了几次我想制作一个获取并设置另一个属性的属性。当然,我知道我可以这样做:
class Foo {
public int Bar {
get; set;
}
public int Baz {
get {
return Bar;
}
set {
Bar = value;
}
}
}
但我想知道是否有更快的方法来做到这一点。
答案 0 :(得分:1)
不,没有这样的快捷语法 - 明确地为至少一个属性实现get / set是可以的。
通过多个属性更改相同值的能力让人感到困惑。确保您确实需要这样做 - 即如果您正在实施接口,则可以将其中一个接口设置为只读。或者考虑至少一个接口的显式实现,以最小化同一属性的两个setter的可见性。
如果将属性设置为只读,则可以将C#6语法用于较短的get-only属性:
public int Bar => Baz;