是否 C#
允许以下事情:
假设我有 namespace X
和 namespace X.Y
.
我如何制作我的class MyClass
在命名空间 X.Y
该 namespace 的内部,因此 MyClass
无法从 namespace X
访问?
最佳答案
internal
关键字使类对程序集外部的世界“私有(private)”,但对同一程序集中的所有类型都是公共(public)的。
通过放置 namespace X
和 namespace X.Y
在两个单独的程序集中,您可以在后一个命名空间中拥有类 internal
到该程序集,因此其他命名空间中的类型无法访问。
注意:只是为了强调一个事实:您无法将类型设置为命名空间内部,您只能将它们设置为程序集内部。一个程序集可能在两个命名空间中都包含内部类型,并且无论命名空间如何,该程序集中的所有类型都可以访问这些内部类型。另一个程序集(也包含两个命名空间中的类型)将只能访问另一个程序集中的公共(public)类型,而与命名空间无关。
关于C# - 类访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4879566/