this 访问

来源:互联网 发布:python做数据库 编辑:程序博客网 时间:2024/05/19 03:42

C# 3.0
 this 访问

this-access 由保留字 this 组成。

this-access:

this

this-access 只能在实例构造函数、实例方法或实例访问器的 block 中使用。它具有下列含义之一:

 

·         this 在类的实例构造函数内的 primary-expression 中使用时它属于值类别。此时,该值的类型是使用 this 的类实例类型(第 10.3.1 节),并且该值就是对所构造的对象的引用。

·         this 在类的实例方法或实例访问器内的 primary-expression 中使用时,它属于值类别。此时,该值的类型是使用 this 的类实例类型(第 10.3.1 节),并且该值就是对为其调用方法或访问器的对象的引用。

·         this 在结构的实例构造函数内的 primary-expression 中使用时,它属于变量类别。该变量的类型是使用 this 的结构实例类型(第 10.3.1 节),并且该变量表示的正是所构造的结构。结构实例构造函数的 this 变量的行为与结构类型的 out 参数完全一样,具体而言,这表示该变量在实例构造函数的每个执行路径中必须已明确赋值。

·         this 在结构的实例方法或实例访问器内的 primary-expression 中使用时,它属于变量类别。该变量的类型就是使用 this 的结构实例类型(第 10.3.1 节)。

o        如果方法或访问器不是迭代器 10.14 ), this 变量表示为其调用方法或访问器的结构并且其行为与结构类型的 ref 参数完全相同。

o        如果方法或访问器是迭代器 this 变量表示为其调用方法或访问器的结构的 copy

o        并且其行为与结构类型的 value 参数完全相同。

在以上列出的上下文以外的上下文内的 primary-expression 中使用 this 是编译时错误。具体说就是不能在静态方法、静态属性访问器中或字段声明的 variable-initializer 中引用 this

原创粉丝点击