2011-09-07 84 views
0

我以前见过这个,但直到现在我才真正对它的目的感兴趣。看一看下面两个例子(OH,这是所有在VB.net顺便说一句):设置参数

实施例1:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Using nFD As New FontDialog 
     If nFD.ShowDialog = Windows.Forms.DialogResult.OK Then 
      LoadFont(_font:=nFD.Font) 
     End If 
    End Using 
End Sub 

Private Sub LoadFont(ByVal _font As Font) 
    MsgBox(_font.Name) 
End Sub 

实施例2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
    Using nFD As New FontDialog 
     If nFD.ShowDialog = Windows.Forms.DialogResult.OK Then 
      LoadFont(nFD.Font) 
     End If 
    End Using 
End Sub 

Private Sub LoadFont(ByVal _font As Font) 
    MsgBox(_font.Name) 
End Sub 

两个结果在同样的事情,你可能要关注的主要事情是我设定论点的地方。在设置参数时,:=的用途是什么。我认为它比我刚刚尝试过的有更重要的用途,但我不能谷歌它,因为谷歌不喜欢符号。

回答

2

命名参数。由于VB.NET允许可选参数,因此您可能偶尔只想传递第二个或第三个参数,而将前面的参数保留默认值。使用命名参数,你可以。你可以做的另一件事是以不同的顺序传递参数。最后,当一个函数需要大量参数时,传递它们的命名风格可能有助于可读性。

1

它用于强调传递给函数的参数的名称。因为有很多可选的参数,所以在访问Excel,Word等时非常方便。主知道C#可以做这样的事情!

编辑
如果现在已经实施,我的.NET停止3.5,所以向Microsoft团队道歉!

2

我相信它的历史可以追溯到Visual Basic 5.0或6.0,当它的过程/函数开始接受NAMED参数时。如果程序/功能使用可选参数,这很方便。如果有6个参数,并且如果需要设置第5个参数的值,而让其他参数采用默认值,则此格式在调用时非常有用 - 您只需在参数和值中设置“:=”之间。