Skip to content

This ​


传递给 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 Sub

end GeSHi

与 QB 的区别 ​

  • FreeBASIC 新增

另请参阅 ​

  • Base (member access)
  • Class
  • Type

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系