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

时间:2015-01-11 08:18:44

标签: c# .net

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

从C ++ for Dummies页面176:

class SavingsAccount
{
  public:
    unsigned accountNumber;
    double balance;
}

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

1 个答案:

答案 0 :(得分:6)

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

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

MSDN

涵盖了该主题
  

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

     

如果没有访问权限,则内部是默认设置   修饰符已指定。 Struct成员,包括嵌套类和   结构,可以声明为public,internal或private。

     

类成员,包括嵌套类和结构,可以是公共的,   受保护的内部,受保护,内部或私人。访问级别   对于类成员和结构成员,包括嵌套类和   结构,默认是私有的。私有嵌套类型不是   可以从包含类型外部访问。

     

派生类不能   比基本类型具有更大的可访问性。换句话说,你   不能有一个派生自内部类A的公共类B.如果   这是允许的,它会产生公众的影响,   因为A的所有受保护或内部成员都可以从中获取   衍生类。