在C#中类,结构,接口,枚举及嵌套类型等的默认访问修饰符及其成员默认访问修饰符分别是什么?

帮忙做个归纳,还有一些没有提到的也帮忙补充下!谢过!
2024-11-24 00:09:48
推荐回答(2个)
回答1:

举例来说明比较明了:
namespace AAA
{
class MyClass
{
int a;
}

struct MyStruct
{
int b;
}

enum MyEnum
{
E1,
E2
}

interface MyInterface
{
int x=5;
void MyFunction();
}
}

这个例子里,MyClass,MyStruct,MyEnum,MyInterface都是用的默认访问修饰符,各自内部的成员也使用的默认访问修饰符,下面来说明各自的访问权限:
1,对于 类,结构,枚举,接口这4种东西,如果用了默认访问修饰符,则相当于使用了internal关键字作为访问修饰符,具体就是只能在声明这个类(结构,结构,枚举,接口)的名字空间下使用,比如对于上面的例子,MyClass只能出现在AAA名字空间里,如果有一个名字空间BBB,则在BBB下是访问不到MyClass的
2,对于类,结构内部,默认访问修饰符的含义等价于private,比如上面的例子里MyClass里的字段a在AAA名字空间下其他的类里是无法访问的,同理的还有MyStruct里的b
3,对于枚举,接口内部,默认访问修饰符等价于public

回答2:

在类里定义的不管是什么如果你什么都没有加就默认是private,在类的这个级别中是public