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

6

如何在私有方法和公共方法中调用成员/字段是最佳实践?私有方法应该总是调用私有字段还是应该调用公共成员?

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

public void DoSomething()
{
   _doSomething();
}


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

请参见https://dev59.com/iHA75IYBdhLWcg3waIQJ。 - nawfal
2个回答

11

我更喜欢所有代码通过公共接口进行访问,以减少访问实际后备字段的代码位置数量。两个原因是

  • 简化调试; 如果你有一个值发生变化或返回意外值的问题,你可以在属性getter或setter内设置断点,并轻松捕获对该值的任何访问。
  • 减少更改的影响,你可以对字段进行更改,它将直接影响很少的代码位置。

或者,用一个单词来说:封装


“封装”是编程中的一个重要概念。正如Steve McConnell在《代码大全》中所说,没有封装就没有抽象化。 - Cylon Cat

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接