C#:我可以像C++一样编写"private:"或"protected:"区域

Mad*_* D. 2 c# c++

在C++中,您可以编写:

private:
 int w;
 string x;
protected:
 int y;
 string z;
Run Code Online (Sandbox Code Playgroud)

C#中有类似的东西吗?

jas*_*son 12

不,C#中没有具有特定访问类型的区域.a的每个成员classstruct必须具有显式访问修饰符或接受默认访问修饰符private.

此外,关于C#中与C++相比的访问修饰符主题,C#还有两个额外的修饰符internalprotected internal.修饰符internal意味着它仅在定义组件和protected internal装置中可见protected或者internal(NOT protectedinternal).

  • @Michael Stum:没错.如果`protected internal`被解释为`protected`和`internal`,这意味着在定义程序集中可见,并且对所有派生类型都是可见的,这些类型一起仅对定义程序集中的所有派生类型都是可见的.有趣的是,有`FamilyAndAssembly`和`FamilyOrAssembly`的.NET概念.在C#中,"protected internal"实际上是`FamilyOrAssembly`,C#中没有`FamilyAndAssembly`的修饰符. (5认同)