C# - 类访问修饰符

标签 c# access-modifiers

是否 C#允许以下事情:

假设我有 namespace Xnamespace X.Y .

我如何制作我的class MyClass在命名空间 X.Y该 namespace 的内部,因此 MyClass无法从 namespace X 访问?

最佳答案

internal 关键字使类对程序集外部的世界“私有(private)”,但对同一程序集中的所有类型都是公共(public)的。

通过放置 namespace Xnamespace X.Y在两个单独的程序集中,您可以在后一个命名空间中拥有类 internal到该程序集,因此其他命名空间中的类型无法访问。

注意:只是为了强调一个事实:您无法将类型设置为命名空间内部,您只能将它们设置为程序集内部。一个程序集可能在两个命名空间中都包含内部类型,并且无论命名空间如何,该程序集中的所有类型都可以访问这些内部类型。另一个程序集(也包含两个命名空间中的类型)将只能访问另一个程序集中的公共(public)类型,而与命名空间无关。

关于C# - 类访问修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4879566/

相关文章:

c# - 将 bool 方法添加到现有类 C# 的最佳方法

c# - 为什么 DataGrid 不显示数据库中的数据

c# - 无法将类型 System.Data.Entity.Core.Objects.ObjectResult 隐式转换为 System.Data.Objects.ObjectResult

java - Java 7 中泛型类变量访问的变化

java - java中访问 'final'修饰符类

c# - 在 Tumblr 上创建博客帖子时 OAuth 失败(不断收到 401/未授权)

c# - 在文本框验证事件中,如何忽略对某个按钮的点击?

swift - swift 类的私有(private)访问控制行为是什么?

.net - 访问修饰符也会影响反射吗?

c# - 'protected' 和 'protected internal' 有什么区别?