如何:为过程定义可选参数
更新:2007 年 11 月
您可以将某个过程参数指定为可选,使调用代码在调用过程时无需为其提供参数。执行此操作时,请定义未提供参数时过程使用的默认值。
您可以定义多个可选参数,但所有可选参数都必须位于参数列表末尾。所有必选参数都必须位于每个可选参数的前面。
定义可选参数
在过程声明中,在参数列表中的参数名前面加上 Optional 关键字。
像往常一样在参数名后面加上 As 子句,并在 As 子句后面加上等号 (=)。
在等号后面加上该参数的默认值。这必须是常数表达式,使编译器在编译时能够完全计算该表达式。
必须将后面的每个参数声明为 Optional。
示例
下面的示例演示带可选参数的过程声明。
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters"
End If
' Insert code to notify headquarters or specified office.
End Sub
如果调用代码没有为参数列表中的 office 提供值,Visual Basic 会提供默认值“QJZ”。
编译代码
必须为过程声明中的每个可选参数指定默认值。请确保每个默认值均为编译器在编译时能够计算的常数。