访问修饰符(默认是什么)
1.命名空间下的元素的默认访问修饰符
public: 同一程序集的其他任何代码或应用改程序集的其他程序集都可以访问该类型或成员。
Internal:同一程序集中的任何代码都可以访问该类型或成员,但其他程序集不可以访问
C#中类默认访问级别:internal
2.各类型中的成员的默认访问修饰符
剩下的修饰符主要是正对继承这个语言特性的,拥有继承的类型有两个类(class)和接口(interface)。public。internal同样可以用于类型成员。
private:同一类和结构的代码可以访问该类型和成员。
protected:同一类和派生(继承特性)类中的代码可以访问该类型和成员。
Protected internal:统一程序集中的任何代码或其他程序集中的任何派生类都可以访问该类型的成员
3.MSDN提示
1.派生类的可访问性不能高于其基类型。换句话说,不能有从内部类A派生的公共类B。如果允许这种情况,将会使A成为公共类,因为A的所有受保护的成员或内部成员都可以派生类访问。
2.成员的访问性,不能高于其包含类型的可访问性。
3.可以使用五种访问类型中的类型中的任何一种来声明类成员(包括嵌套的类或结构)。
接口(interface)
接口成员访问修饰符默认为public,且不能显示使用访问修饰符。
类(class)
析构函数默认为public访问修饰符
析构函数不能显示是使用访问修饰符,默认为private访问修饰符。
类的成员默认的修饰符为private;
枚举(enum)
枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。
结构(struct)
结构成员默认为private修饰符。
结构成员无法声明为protected成员,因为结构不支持继承。
嵌套类型
嵌套类型的默认访问修饰符为private。和类,结构的成员默认访问类型一致。
属于 | 默认的成员可访问性 | 该成员允许的声明的可访问性 |
enum | public | 无 |
class | private |
publicprotectedinternalprivateprotected internal |
interface | public | 无 |
struct | private |
publicinternalprivate |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言