C#中私有访问修饰符和公共访问修饰符的区别?

C#中私有访问修饰符和公共访问修饰符的区别?,c#,access-modifiers,C#,Access Modifiers,我理解如果我使用私有访问修饰符,例如: namepsace MyNameSpace { class Book { private string title; } } 这意味着实例变量标题只能从类内部访问,即上面示例中的Book类 但是,如果我要将实例变量公开,我已经读到,这使得类外部可以访问它 我的问题是,这是否也意味着它可以在名称空间之外访问?或者我们仍然在谈论名称空间中的类?我找不到任何资源来回答我的这个问题,因此我想在这里提问。标题的完整位置是MyNameSpace::

我理解如果我使用私有访问修饰符,例如:

namepsace MyNameSpace
{
  class Book
  {
   private string title;
  }
}
这意味着实例变量标题只能从类内部访问,即上面示例中的Book类

但是,如果我要将实例变量公开,我已经读到,这使得类外部可以访问它


我的问题是,这是否也意味着它可以在名称空间之外访问?或者我们仍然在谈论名称空间中的类?我找不到任何资源来回答我的这个问题,因此我想在这里提问。

标题的完整位置是
MyNameSpace::Book::title
<代码>名称空间不限制其成员的可访问性<代码>命名空间为其成员指定新位置
class
也是
名称空间的一种类型

例如:

namepsace MyNameSpace
{
  class Book
  {
   private string title;
  }
}
在中国,可能有一个电话号码为123456789。在新加坡也可能有相同号码的电话
123456789
。任何人都可以拨打这些号码。但为了区分这些不同的数字,我们需要
国家代码
,有时还需要
标准代码
。所以这里,
国家代码
标准代码
名称空间


的成员设置为公共
不会影响其在
命名空间
之外的访问。但是,成员访问应该通过类的对象有效。

标题的完整位置是
MyNameSpace::Book::title
<代码>名称空间
不限制其成员的可访问性<代码>命名空间为其成员指定新位置
class
也是
名称空间的一种类型

例如:

namepsace MyNameSpace
{
  class Book
  {
   private string title;
  }
}
在中国,可能有一个电话号码为123456789。在新加坡也可能有相同号码的电话
123456789
。任何人都可以拨打这些号码。但为了区分这些不同的数字,我们需要
国家代码
,有时还需要
标准代码
。所以这里,
国家代码
标准代码
名称空间


的成员设置为公共
不会影响其在
命名空间
之外的访问。但是,通过类的对象访问成员应该是有效的。

否。这与名称空间无关。命名空间是一个位置。只要您的类被访问,它的“公共成员”也将能够被访问。

否。这与名称空间无关。命名空间是一个位置。只要您的类被访问,它的“公共成员”也可以被访问。

名称空间纯粹用于组织,而不是用于可访问性。NET中没有允许/限制基于命名空间访问资源的可访问性机制。由于名称空间可以分布在多个程序集中,因此将成员私有化为“名称空间”是无效的,因为任何人都可以在不同的程序集中编写一个类,但使用相同的名称空间并访问这些成员

当讨论可访问性时,只讨论类型和程序集,而不提及名称空间,可以从中推断出这一点

一般来说,
private
的意思是“只能由包含定义的对象使用”。对于会员来说,这就是课堂;对于类型,定义它的是“外部”类型(如果有)。您不能拥有顶级的
private
类型,因为名称空间并不是真正的“容器”,所以没有任何东西可以将其私有化

解决这一问题的其他问题:


名称空间纯粹用于组织,而不是用于可访问性。NET中没有允许/限制基于命名空间访问资源的可访问性机制。由于名称空间可以分布在多个程序集中,因此将成员私有化为“名称空间”是无效的,因为任何人都可以在不同的程序集中编写一个类,但使用相同的名称空间并访问这些成员

当讨论可访问性时,只讨论类型和程序集,而不提及名称空间,可以从中推断出这一点

一般来说,
private
的意思是“只能由包含定义的对象使用”。对于会员来说,这就是课堂;对于类型,定义它的是“外部”类型(如果有)。您不能拥有顶级的
private
类型,因为名称空间并不是真正的“容器”,所以没有任何东西可以将其私有化

解决这一问题的其他问题:


用您用来让相关人员查看的语言标记此文档。参考资料似乎可以解释您想知道的内容。当你对语言/框架有疑问时,一定要查看文档。在文档上贴上你用来让相关人员查看的语言标签。参考资料似乎可以解释你想知道的内容。当你对语言/框架有疑问时,一定要查看文档。我认为这个例子并没有让它更清晰。我认为这个例子并没有让它更清晰。