C# 修饰符

修饰符

访问修饰符:

1.公用-public-关键字是类型和类型成员的访问修饰符。

   公共访问是允许的最高访问级别。 对访问公共成员没有限制。

2.受保护-protected-关键字是一个成员访问修饰符。

   受保护成员在其所在的类中可由派生类实例访问。

3.内部-internal-关键字是类型和类型成员的访问修饰符。

   只有在同一程序集的文件中,内部类型或成员才可访问。

4.专用-private-关键字是一个成员访问修饰符。

   私有访问是允许的最低访问级别。 私有成员只有在声明它们的类和结构体中才是可访问的。

5.abstract:修饰符指示被修改内容的实现已丢失或不完整。

  abstract 修饰符可用于类、方法、属性、索引和事件。 在类声明中使用 abstract 修饰符以指示某个类仅旨在作为其他类的基类。 标记为 abstract 的成员,或包含在抽象类中的成员,都必须由派生自抽象类的类来实现。

6.async:使用 async 修饰符可将方法、lambda 表达式或匿名方法指定为异步。

  如果对方法或表达式使用此修饰符,则其称为异步方法。

7.const:使用 const 关键字来声明某个常量字段或常量局部变量。

  常量字段和常量局部变量不是变量并且不能修改。 常量可以为数字、布尔值、字符串或 null 引用。 不要创建常量来表示你需要随时更改的信息。 例如,不要使用常量字段来存储服务的价格、产品版本号或公司的品牌名称。 这些值会随着时间发生变化;因为编译器会传播常量,所以必须重新编译通过库编译的其他代码以查看更改。

8.event:用于声明发布服务器类中的事件。

9.extern:用于声明在外部实现的方法。

10.in:(泛型修饰符 对于泛型类型参数,in 关键字可指定类型参数是逆变的。 可以在泛型接口和委托中使用 in 关键字。

11.out:(泛型修饰符)对于泛型类型参数,out 关键字可指定类型参数是协变的。 可以在泛型接口和委托中使用 out 关键字。

12.override:扩展或修改继承的方法、属性、索引器或事件的抽象或虚拟实现需要 override 修饰符。

13.readonly:readonly 关键字是一个可在字段上使用的修饰符。

  当字段声明包括 readonly 修饰符时,该声明引入的字段赋值只能作为声明的一部分出现,或者出现在同一类的构造函数中。

 

14.sealed:应用于某个类时,sealed 修饰符可阻止其他类继承自该类。

15.static:使用 static 修饰符可声明属于类型本身而不是属于特定对象的静态成员。

  static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、终结器或类以外的类型。

16.unsafe:unsafe 关键字表示不安全上下文,该上下文是任何涉及指针的操作所必需的。

17.virtual:virtual 关键字用于修改方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。

18.volatile:

  volatile 关键字指示一个字段可以由多个同时执行的线程修改。声明为 volatile 的字段不受编译器优化(假定由单个线程访问)的限制。 这样可以确保该字段在任何时间呈现的都是最新的值。

  volatile 修饰符通常用于由多个线程访问、但不使用 lock 语句对访问进行序列化的字段。

  volatile 关键字可应用于以下类型的字段:

  • 引用类型。

  • 指针类型(在不安全的上下文中)。 请注意,虽然指针本身可以是可变的,但是它指向的对象不能是可变的。 换句话说,不能声明“指向可变对象的指针”。

  • 类型,如 sbyte、byte、short、ushort、int、uint、char、float 和 bool。

  • 具有以下基类型之一的枚举类型:byte、sbyte、short、ushort、int 或 uint。

  • 已知为引用类型的泛型类型参数。

  • IntPtrUIntPtr

详情传送门

 

 

 

 

posted @ 2017-08-22 16:24  璇狼之风  阅读(214)  评论(0编辑  收藏  举报