如何:为过程定义可选参数 (Visual Basic)

您可以将某个过程参数指定为可选,使调用代码在调用过程时无需为其提供参数。 执行此操作时,请定义未提供参数时过程使用的默认值。

您可以定义多个可选参数,但所有可选参数都必须位于参数列表末尾。 所有必选参数都必须位于每个可选参数的前面。

定义可选参数

  1. 在过程声明中,在参数列表中的参数名前面加上 Optional 关键字。

  2. 像往常一样在参数名后面加上 As 子句,并在 As 子句后面加上等号 (=)。

  3. 在等号后面加上该参数的默认值。 这必须是常数表达式,使编译器在编译时能够完全计算该表达式。

  4. 必须将后面的每个参数声明为 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”。

编译代码

必须为过程声明中的每个可选参数指定默认值。 请确保每个默认值均为编译器在编译时能够计算的常数。

请参见

任务

如何:调用带有可选参数的过程 (Visual Basic)

如何:确定是否提供了可选参数 (Visual Basic)

参考

Optional (Visual Basic)

ParamArray (Visual Basic)

概念

过程参数和变量 (Visual Basic)

通过值和通过引用传递参数 (Visual Basic)

按位置和名称传递参数 (Visual Basic)

可选参数 (Visual Basic)

参数数组 (Visual Basic)

过程重载 (Visual Basic)