允许将私有变量放在C#中的公共方法中?

时间:2012-08-03 09:14:44

标签: c#

我有一点代码

public void StartConnection(){
  _connection = new DatabaseConnection();
}

public Results ExecuteQuery( string format ){
  _queryExecuter.SetText = string.Format(_queryString, format);

  return _queryExecuter.Execute();
}

我做了什么,允许在公共方法中使用私有成员?

我提到公共方法将在另一个类中使用(来自不同的项目,但在相同的解决方案中)。

或者我必须创建私有方法并在私有变量中使用?

我只需要建议。

谢谢

2 个答案:

答案 0 :(得分:9)

是的,这是一个非常基本的编程哲学,叫做encapsulation。它是完全有效的,并鼓励这样做。在您的情况下,只有您知道如何使用您的连接对象和"限制"如何通过您的公共方法使用它,从而使您的应用程序保持在您定义的范围内。

答案 1 :(得分:2)

  

我做了什么,允许在公共方法中使用私有成员?

是的,您绝对可以在公共会员中使用私人会员。否则他们会毫无用处! (如果你只能在其他私人成员中使用私人成员,你怎么能使用其中任何一个?)

封装的许多方面是隐藏公共API中的实现细节(私有成员)。