在C#中有哪些访问修饰符可用?默认的是什么?

6

C#中有哪些访问修饰符可用?默认的是什么?


4
现在,如果有人谷歌这个问题,很可能会出现这个问题作为答案!=) - Rob
3个回答

22

可能的访问修饰符包括:

  • 私有的(private)
  • 受保护的(protected)
  • 内部的(internal)
  • 受保护的内部的(protected internal)
  • 公共的(public)

使用的默认修饰符取决于元素。

  • 对于类,缺省规定是 "internal"
  • 对于类成员,缺省规定是 "private"
  • 对于嵌套类型(内部类),默认值为 "private"

你也可以在MSDN上找到它。

你可能也会发现这个有趣。


1
请注意,对于嵌套类型,默认设置为“private”。 - Marc Gravell

2
安装Visual Studio时(至少在2008年),C#语言规范的副本会随之提供,在VSRoot\VC#\Specifications\1033\CSharp Language Specification.doc路径下。当然,这是查找信息的权威之处。

1
访问修饰符(Access Modifiers或Access Specifiers)描述了对象及其成员的可访问范围。所有C#类型和类型成员都有一个可访问级别。我们可以使用访问修饰符控制类的成员对象的范围。我们使用访问修饰符来提供应用程序的安全性。当我们指定类型或成员的可访问性时,必须使用CSharp语言提供的任何访问修饰符进行声明。
C#提供了五种访问修饰符,它们如下: public、private、protected、internal和protected internal。 public: public是C#中最常见的访问修饰符。它可以从任何地方访问,这意味着没有访问限制。可访问性的范围在类内部和外部。该类型或成员可以被同一程序集或引用它的另一个程序集中的任何其他代码访问。 private:
可访问性的范围仅限于声明它们的类或结构体内部。私有成员无法在类外部访问,这是最不宽松的访问级别。 protected:

可访问性的范围仅限于类或结构体以及从该类派生(继承)的类。

internal :

内部访问修饰符可以在包含其声明的程序中访问,并且也可以在相同的程序集级别内访问,但不能从另一个程序集中访问。

protected internal :

Protected internal是受保护和内部两种访问级别的组合。它可以在同一程序集和同一类中以及从同一类继承的类中访问。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接