Sub (成员)
 
声明或定义成员过程。

语法

{ 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 ] )
statements
End Sub

参数

typename
名称为TypeClassUnion
fieldname
程序名称
external_name
外部链接时看到的字段名称
parameters
要传递给程序的参数
calling convention specifier
可以是以下之一:cdeclstdcallpascal

说明

Sub成员使用操作符 . (成员访问)操作符 -> (访问成员指针)访问,以调用成员过程,并可以选择接受参数ByValByRef.typename 在没有明确使用Overload关键字的情况下被重载。

typename 是声明和定义Sub方法的类型的名称。typename 的名称解析遵循与Namespace中使用的过程相同的规则。

typename 具有相同类型的隐藏This参数传递给非静态成员过程。This用于访问TypeClassUnion的字段。

可以使用Static说明符声明Static (成员).可以使用Const说明符声明Const (成员).

例子

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 "值数="; count
  Print "平均=";
  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.ShowResults

输出:
Number of Values =  4
Average          =  19.2

方言差异

参考