16

我们有这个方法调用:

SendAck(AppData:=AppData, Status:=Status, StatusMessage:=StatusMessage, IsApplication:=IsApplication)

这是定义:

Private Sub SendAck(ByVal AppData As XDocument, ByVal Status As Boolean, ByVal StatusMessage As String, ByVal IsApplication As Boolean)

为什么调用的参数带有“:=”。我只是好奇。

4

2 回答 2

23

VB.Net 中的 ":=" 用于按名称传递函数参数。默认是按位置。它允许以任何顺序调用参数并根据名称匹配确定定位。

例如

Sub Example(ByVal param1 as Integer, ByVal param2 As Integer) 
  Console.WriteLine("{0} - {1}", param1, param2)
End Sub

Example(param2:=42, param1:=1) ' Prints "1 - 42"
Example(42, 1)                 ' Prints "42 - 1"
于 2010-10-29T20:04:45.650 回答
6

该语法使用命名参数;指定在 之前设置的参数的名称,:=然后指定之后的值。这样做可以让您跳过参数或以不同的顺序执行它们。

于 2010-10-29T20:04:52.173 回答