6

从私有方法和公共方法调用成员/字段的最佳实践是什么?私有方法应该总是调用私有字段还是应该调用公共成员?

private string _name;
public string Name
{ 
   get {return _name; }
   set { _name = value; }
}

public void DoSomething()
{
   _doSomething();
}


private void _doSomething()
{
   _name.ToLower();
}
4

2 回答 2

11

我更喜欢让所有代码都通过公共接口,只是为了减少代码中访问实际支持字段的位置数量。两个原因是

  • 简化调试;如果您遇到值更改或返回意外值的问题,您可以在属性 getter 或 setter 中设置断点,并轻松捕获对该值的任何访问。
  • 减少更改的影响,您可以对字段进行更改,它会直接影响代码中的极少数地方。

或者,简而言之:封装

于 2010-05-26T10:13:46.487 回答
1

在某些情况下,您的公共属性可能包含您需要的一些逻辑,在这种情况下,如果您确定要使用私有成员变量,并且不将该功能暴露给外部世界,将该特定方法设为私有。

于 2010-05-26T10:15:00.867 回答