SUB(成员)
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgMemberSub
- 最后更新: 2021-09-28
声明或定义成员过程。
语法
vb
{ Type | Class | Union } typename
declare [ static | const ] Sub fieldname [calling convention specifier] [ alias external_name ] ( [ parameters ] ) [ Static ]
End { Type | Class | Union }
Sub typename.fieldname ( [ parameters ] ) [ Export ]
statements
End Sub参数
typename
Type、Class 或 Union 的名称。
fieldname
过程的名称。
external_name
外部链接时字段的名称。
parameters
传递给过程的参数。
calling convention specifier(调用约定说明符)
可以是以下之一:Cdecl、Stdcall 或 Pascal。
描述
使用 Operator . (成员访问) 或 Operator -> (指针成员访问) 访问 Sub 成员,以调用成员过程,可以选择性地接受 byval 或 byref 的参数。typename 可以在不显式使用 Overload 关键字的情况下重载。
typename 是为其声明和定义 Sub 方法的类型名称。在 Namespace 中使用时,typename 的名称解析规则与过程相同。
一个隐藏的 this 参数(与 typename 具有相同类型)被传递给非静态成员过程。this 用于访问 Type、Class 或 Union 的字段。
要访问在 Type 外部作为全局定义的重复符号,请添加一个或最好两个点作为前缀:.SomeSymbol 或最好是 ..SomeSymbol(或在 With..End With 块内只用 ..SomeSymbol)。
可以使用 Static 说明符声明 Static(成员)。可以使用 Const 说明符声明 Const(成员)。
示例
start GeSHi
vb
Type Statistics
count As Single
sum As Single
Declare Sub AddValue( ByVal x As Single )
Declare Sub ShowResults( )
End Type
Sub Statistics.AddValue( ByVal x As Single )
count += 1
sum += x
End Sub
Sub Statistics.ShowResults( )
Print "Number of Values = "; count
Print "Average = ";
If( count > 0 ) Then
Print sum / count
Else
Print "N/A"
End If
End Sub
Dim stats As Statistics
stats.AddValue 17.5
stats.AddValue 20.1
stats.AddValue 22.3
stats.AddValue 16.9
stats.ShowResultsend GeSHi
输出:
Number of Values = 4
Average = 19.2方言差异
- 仅在 -lang fb 方言中可用。
参见
ClassFunction (Member)SubType
返回 目录