Amb*_*ite 11 c# variables properties
这是我在代码中一直在努力解决的问题.假设我们有以下代码:
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
}
}
Run Code Online (Sandbox Code Playgroud)
哪种方式更正确 - 方法A还是B?我总是对此感到不满.方法A似乎会快一点,因为它不需要在获取真实变量之前访问属性.但是,方法B更安全,因为如果MyVariable的getter添加了业务逻辑,即使没有当前的业务逻辑,也可以通过调用它来保证安全.
普遍的共识是什么?
Jay*_*Jay 12
使用该属性.
我认为该物业应该全权负责管理该领域.
有很多实现无关紧要,但有很多重要的事情 - 很多.此外,这可能有点难以追踪,因为它总是看起来正确.
你会出问题调用的属性少得多的时间比调用领域,那里有例外情况,记录的理由.