是否可以在C#中同时声明所有类成员公开?

Lor*_*aka 1 .net c#

我在业余时间开始学习C++,并注意到了一个很酷的小工具:

从C++ for Dummies第176页:

class SavingsAccount
{
  public:
    unsigned accountNumber;
    double balance;
}
Run Code Online (Sandbox Code Playgroud)

据我了解,这应该声明它下面的所有成员public.我的问题是:C#中有这样的东西吗?

Yuv*_*kov 6

在C#中,范围是按类/结构成员声明的,而不是像C++那样全局声明.

如果没有显式声明,则有默认范围.

MSDN上涵盖了该主题:

直接在命名空间内声明的类和结构(换句话说,不嵌套在其他类或结构中)可以是公共的或内部的.

如果未指定访问修饰符,则Internal是默认值.结构成员(包括嵌套类和结构)可以声明为public,internal或private.

类成员(包括嵌套类和结构)可以是公共的,受保护的内部,受保护的,内部的或私有的.默认情况下,类成员和结构成员(包括嵌套类和结构)的访问级别是私有的.无法从包含类型外部访问专用嵌套类型.

派生类不能具有比其基本类型更大的可访问性.换句话说,你不能拥有一个派生自内部类A的公共类B.如果允许这样做,它将具有使A成为公共的效果,因为A的所有受保护或内部成员都可以从派生类访问.