C#访问修饰符(一) --默认可访问性

访问修饰符

  • public:同一程序集中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。
  • private:只有同一 class 或 struct 中的代码可以访问该类型或成员。
  • protected:只有同一 class 或者从该 class 派生的 class 中的代码可以访问该类型或成员。
  • internal:同一程序集中的任何代码都可以访问该类型或成员,但其他程序集中的代码不可以。
  • protected internal:该类型或成员可由对其进行声明的程序集或另一程序集中的派生 class 中的任何代码访问。
  • private protected:只有在其声明程序集内,通过相同 class 中的代码或派生自该 class 的类型,才能访问类型或成员。

默认可访问性

1、类和结构:访问修饰符可以为 public 或 internal, 如果未指定任何访问修饰符,则默认设置为 Internal

2、类成员和结构成员:结构成员(包括嵌套的类和结构)可以声明为 publicinternal 或 private。 类成员(包括嵌套的类和结构)可以声明为 public

protected internalprotectedinternalprivate protected 或 private。 默认情况下,类成员和结构成员(包括嵌套的类和结构)的访问级别为 private

3、接口:可以声明为 public 或 internal接口默认设置为 internal 访问级别。 接口成员默认为 public

4、枚举:枚举成员始终为 public,并且不能应用任何访问修饰符。

访问限制

派生类不能具有高于其基类型的可访问性。

 

参考文档

https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers

原文地址:https://www.cnblogs.com/linybo/p/13947413.html