如何:通过名称向过程传递参数 (Visual Basic)

在调用 Sub 或 Function 过程时,无论对应参数在过程定义中出现的顺序如何,都可以按名称将参数传递给它。

按名称传递参数使调用代码更容易阅读,因为这种机制给过程调用中的参数值赋予了意义。 如果过程具有可选参数,按名称传递也更易于跟踪传递的参数和省略的参数。

有关按名称提供参数的规则和限制,请参见 按位置和名称传递参数 (Visual Basic)

按名称传递参数

  1. 检查过程声明的源代码,以确定参数名称的确切拼写。

  2. 在调用代码中,以正常方式准备过程调用,将参数列表置于过程名称后的括号中。

  3. 对于要按名称传递的每个参数,提供参数的声明名称,后面跟一个冒号和一个等号 (:=),然后跟传递给该参数的值。

  4. 可以按任何顺序提供命名的参数,但必须在提供任何命名参数之前先提供所有位置参数。

示例

下面的示例演示一个带有三个参数的 Sub 过程,以及一个按名称传递这些参数的 Call 语句 (Visual Basic)

Sub studentInfo(ByVal name As String, 
       Optional ByVal age As Short = 0, 
       Optional ByVal birth As Date = #1/1/2000#)

  Debug.WriteLine("Name = " & name & 
                "; age = " & CStr(age) & 
                "; birth date = " & CStr(birth))
End Sub
Call studentInfo(age:=19, birth:=#9/21/1981#, name:="Mary")

在按名称传递参数时,提供这些参数的顺序不必与过程声明这些参数的顺序相同。

编译代码

请确保参数列表中的参数名称与过程声明的名称完全匹配。

请参见

任务

如何:将参数传递给过程 (Visual Basic)

参考

Optional (Visual Basic)

ParamArray (Visual Basic)

概念

Visual Basic 中的过程

过程参数和变量 (Visual Basic)

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

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

可选参数 (Visual Basic)

参数数组 (Visual Basic)