C#
是否允许以下内容:
假设我有namespace X
和namespace X.Y
。
如何在名称空间class MyClass
内部X.Y
创建该名称空间,以便无法从MyClass
访问namespace X
?
答案 0 :(得分:9)
internal
关键字使一个类对程序集外的世界“私有”,但对同一程序集中的所有类型都是公开的。
通过将namespace X
和namespace X.Y
放在两个单独的程序集中,您可以在后一个名称空间中使用internal
到该程序集的类,从而无法访问其他名称空间中的类型。
注意:只是为了强调这样一个事实:你无法在命名空间内置类型,你只能将它们作为程序集的内部。一个程序集可能在两个名称空间中都包含内部类型,这些程序集中的所有类型都可以访问它们,而不管命名空间如何。另一个程序集(也包含两个名称空间中的类型)只能访问其他程序集中的公共类型,而不管命名空间如何。
答案 1 :(得分:0)
只有当你把事情拆分成集会时我才相信。
答案 2 :(得分:0)
根据您的类,您也可以使用嵌套类型。只有当X.Y中的类仅由X中的一个类使用时才有可能。