<分区>
这是我在代码中一直纠结的问题。假设我们有以下代码:
public class MyClass {
private string _myVariable;
public string MyVariable {
get { return _myVariable; }
set { _myVariable = value; }
}
public void MyMethod() {
string usingPrivateMember = _myVariable; // method A
string usingPublicProperty = MyVariable; // method B
}
}
哪种方式更正确 - 方法 A 或 B?我总是为此感到痛苦。方法 A 似乎会快一点,因为它不必在获取实际变量之前访问属性。但是,方法 B 更安全,因为如果 MyVariable 的 getter 将业务逻辑添加到其中,则始终调用它是安全的,即使当前没有业务逻辑也是如此。
普遍共识是什么?