This
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgThis
- 最后更新: 2023-07-09
传递给 Type 或 Class 中非静态成员函数的隐藏实例参数
语法
vb
this.fieldname
or
With this
.fieldname
End With说明
This 是对 Type 或 Class 实例的引用,该引用通过隐藏的 Byref 参数 传递给该类型或类的所有非静态成员函数。非静态成员函数是在 Type 或 Class 主体内声明的过程,包括 Sub、Function、Constructor、Destructor、赋值或 Cast Operator 以及 Property 过程。
This 附加参数的数据类型与声明过程的 Type 或 Class 相同。因此,使用它等同于引用调用非静态成员函数的实例声明名称。
This 参数可以像任何其他变量一样使用,即传递给接受相同类型对象的过程、使用 Operator . (Member access) 调用其他成员过程和访问成员数据等。
大多数情况下,显式使用 This 进行成员访问是不必要的;成员过程可以直接通过名称引用传递给它们的实例的其他成员,无需使用 This 和 Operator . (Member access) 进行限定。只有当成员被遮蔽时,例如通过为局部变量或参数重复其名称,才需要用 This 限定成员名称。在这些情况下,限定成员名称是引用这些被遮蔽的成员名称的唯一方法。
示例
start GeSHi
vb
Type sometype
Declare Sub MyCall()
value As Integer
End Type
Dim example As sometype
'' Set element test to 0
example.value = 0
Print example.value
example.MyCall()
'' Output should now be 10
Print example.value
End 0
Sub sometype.MyCall()
This.value = 10
End Subend GeSHi
与 QB 的区别
- FreeBASIC 新增
另请参阅
Base (member access)ClassType
返回 目录