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

 

posted @   Linybo2008  阅读(401)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示