如何:按名称向过程传递参数

更新:2007 年 11 月

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

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

有关按名称提供参数的规则和限制,请参见 通过位置和通过名称的参数传递

按名称传递参数

  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