c#中的类中的5种不同访问修饰符的含义

2024-12-03 15:03:35
推荐回答(1个)
回答1:

这个要看类的位置,



如果类,结构,代理,枚举是外置的,那修饰符只有:public 和 internal,默认是internal。


至于private和protected是用来修饰类的成员。

如果是内置的,就是作为另一个类型的成员,也称内部类型(inner type),这样的话,修饰符可以是全部可用修饰符,默认是private。



举例:


class a {}  类a是internal

c#中类的默认访问修饰符,默认是internal :C#用多种修饰符来表达类的不同性质。

根据其保护级 C#的类有五种不同的限制修饰符:public 可以被任意存取;

protected 只可以被本类和其继承子类存取;

internal只可以被本组合体(Assembly)内所有的类存取,组合体是C# 语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”protected internal唯一的一种组合限制修饰符,它只可以被本组合体内所有的类和这些类的继承子类所存取。

private 只可以被本类所存取。如果不是嵌套的类,命名空间或编译单元内的类只有public和internal两种修饰。

new 修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。

abstract 用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。

抽象类可以包含抽象的成员,但这并非必须。abstract 不能和new 同时用