C# - 类访问修改器

时间:2011-02-02 20:34:54

标签: c# access-modifiers

C#是否允许以下​​内容:

假设我有namespace Xnamespace X.Y

如何在名称空间class MyClass内部X.Y创建该名称空间,以便无法从MyClass访问namespace X

3 个答案:

答案 0 :(得分:9)

internal关键字使一个类对程序集外的世界“私有”,但对同一程序集中的所有类型都是公开的。

通过将namespace Xnamespace X.Y放在两个单独的程序集中,您可以在后一个名称空间中使用internal到该程序集的类,从而无法访问其他名称空间中的类型。

注意:只是为了强调这样一个事实:你无法在命名空间内置类型,你只能将它们作为程序集的内部。一个程序集可能在两个名称空间中都包含内部类型,这些程序集中的所有类型都可以访问它们,而不管命名空间如何。另一个程序集(也包含两个名称空间中的类型)只能访问其他程序集中的公共类型,而不管命名空间如何。

答案 1 :(得分:0)

只有当你把事情拆分成集会时我才相信。

http://www.eggheadcafe.com/articles/20030111.asp

答案 2 :(得分:0)

根据您的类,您也可以使用嵌套类型。只有当X.Y中的类仅由X中的一个类使用时才有可能。