这是我在代码中一直面临的问题。假设我们有以下代码:
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增加业务逻辑,通过始终调用它,即使没有当前业务逻辑,也可以保持安全。
一般有什么共识吗?