如何:定义一个过程的多个版本
更新:2007 年 11 月
可以通过“重载”过程将过程定义为多个版本,每个版本使用相同的名称但使用不同的参数列表。重载的目的是定义过程的若干个密切相关的版本,而不需要通过名称来区分它们,
有关更多信息,请参见 过程重载。
定义过程的多个版本
为要定义的过程的每个版本编写一个 Sub 或 Function 声明语句。在每个声明中使用相同的过程名。
在每个声明中的 Sub 或 Function 关键字前面加上 Overloads 关键字。可以在声明中省略 Overloads,但是只要有一个声明包括了此关键字,就必须在每个声明中都包括该关键字。
在声明语句后面编写过程代码,以处理调用代码提供的参数与该版本的参数列表匹配的情况。无需测试调用代码提供的参数,Visual Basic 会将控制权传递到过程的匹配版本。
根据需要,使用 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 过程的这些版本的信息,请参见 如何:调用重载过程。
编译代码
请确保每个重载的版本有相同的过程名称和不同的参数列表。