方法调用公共/私有成员或方法最佳实践 – C#.NET

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

private string _name; public string Name { get {return _name; } set { _name = value; } } public void DoSomething() { _doSomething(); } private void _doSomething() { _name.ToLower(); } 

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

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

或者,用一个词来表达: 封装

在某些情况下,您的公共属性可能包含您需要的一些逻辑,在这种情况下,如果您确定要使用私有成员变量,并且不将该function公开给该公共属性,则您将始终使用该属性而不是本地变量。外面的世界,使这个特定的方法私有化。