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

Posted

技术标签:

【中文标题】方法调用公共/私有成员或方法最佳实践 - C#.NET【英文标题】:Method Calling Public/Private Members or Methods Best Practice - C#.NET 【发布时间】:2011-02-24 02:42:07 【问题描述】:

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

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


public void DoSomething()

   _doSomething();



private void _doSomething()

   _name.ToLower();

【问题讨论】:

另见***.com/questions/3310186/… 【参考方案1】:

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

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

或者,用一个词来概括:封装

【讨论】:

+很多“封装”。正如 Steve McConnell 在 Code Complete 中所说,没有封装,你也没有抽象。【参考方案2】:

在某些情况下,您的公共属性可能包含一些您需要的逻辑,在这种情况下,如果您确定要使用私有成员变量,而不是公开它,您将始终使用该属性而不是局部变量对外部世界的功能,将该特定方法设为私有。

【讨论】:

以上是关于方法调用公共/私有成员或方法最佳实践 - C#.NET的主要内容,如果未能解决你的问题,请参考以下文章

如何对类中的私有成员变量进行赋值和访问

继承 Java 私有成员

Ruby 中的私有模块方法

Python类私有方法的陷阱

c++ - 使用私有参数调用公共函数

在 C++ 中调用私有方法