如何:定义一个过程的多个版本

更新:2007 年 11 月

可以通过“重载”过程将过程定义为多个版本,每个版本使用相同的名称但使用不同的参数列表。重载的目的是定义过程的若干个密切相关的版本,而不需要通过名称来区分它们,

有关更多信息,请参见 过程重载

定义过程的多个版本

  1. 为要定义的过程的每个版本编写一个 Sub 或 Function 声明语句。在每个声明中使用相同的过程名。

  2. 在每个声明中的 Sub 或 Function 关键字前面加上 Overloads 关键字。可以在声明中省略 Overloads,但是只要有一个声明包括了此关键字,就必须在每个声明中都包括该关键字。

  3. 在声明语句后面编写过程代码,以处理调用代码提供的参数与该版本的参数列表匹配的情况。无需测试调用代码提供的参数,Visual Basic 会将控制权传递到过程的匹配版本。

  4. 根据需要,使用 End Sub 或 End Function 语句终止此过程的各个版本。

示例

下面的示例定义一个 Sub 过程,针对客户的帐户余额发送一个事务。它使用 Overloads 关键字定义此过程的两个版本,其中一个按客户姓名确定客户,另一个按帐号确定客户。

Overloads Sub post(ByVal custName As String, ByVal amount As Single)
    ' Insert code to access customer record by customer name.
End Sub
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
    ' Insert code to access customer record by account number.
End Sub

调用代码可以获取作为 String 或 Integer 的客户标识,然后在两种情况下使用相同的调用语句。

有关如何调用 post 过程的这些版本的信息,请参见 如何:调用重载过程

编译代码

请确保每个重载的版本有相同的过程名称和不同的参数列表。

请参见

任务

疑难解答过程

如何:重载带有可选参数的过程

如何:重载参数数量不确定的过程

概念

Visual Basic 中的过程

过程参数和变量

重载过程注意事项

重载决策