【发布时间】:2019-10-15 07:54:16
【问题描述】:
让我先说一下,我知道这可能是一个新手问题,我尝试搜索它,但找不到合适的答案(可能问错了)。
所以通常当我想使用它的类之外的另一个值时,我只是将它公开并像访问它一样访问它。
但我经常看到其他代码在他们的类中使用私有值,然后创建单独的函数来获取和设置值,如下所示:
private bool fooBar;
public void SetFooBar(bool boolean)
{
fooBar = boolean;
}
public bool GetFooBar()
{
return fooBar;
}
请原谅我的无知,但这究竟有什么意义?他们都做同样的事情(至少我的新手逻辑)。我知道私有变量很有用,因为它可以确保您不会通过在代码中的其他地方修改它们来破坏程序的功能,但是无论如何您都在代码中的其他地方修改它们,那么有什么用呢?为什么我看到人们这样做?
【问题讨论】:
-
在 C# 中,您应该使用属性而不是 Get/Set 方法,但一般要点是隐藏值在内部保存方式的实现,并使其更容易进行非破坏性更改。
-
您通常不应创建字段
public,而应将其设为公共属性(即:public bool FooBar { get; set; })。使用方法获取和设置在 c# 中并不常见。
标签: c# return-value private public