2010-10-29 15 views
12

Bu yöntem çağrısına sahibiz:Ne: = vb.net'de demek?

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

Ve burada tanım:

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

Neden çağrı ": =" ile parametrelere sahip. Ben sadece merak ediyorum.

cevap

14

VB.Net'te ": =" işlevi, işlev argümanını ada göre iletmek için kullanılır. Varsayılan konumdur. Herhangi bir sıraya göre parametrelerin çağrılmasını sağlar ve isim eşleşmelerine göre konumlandırmayı belirler. Örneğin

sözdizimi adlandırılan bağımsız değişken kullandığını
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" 
+0

Gotcha. Sadece meraktan, bunu ne zaman yapmak istersin? Bunu bazı parametreleri atlamak için yaparsanız, neden onları isteğe bağlı yapmıyorsunuz? – Scott

+1

@Scott, favori nedenim boole parametrelerinin daha okunabilir olmasını sağlamaktır. GetFiles (true) '' getFiles (recurseIntoSubDirectories: = true) ' – JaredPar

+0

'dan çok daha az okunabilir ... Çok ilginç ... teşekkürler! – Scott

5

; :='dan önce ayarlanan parametrelerin adlarını ve sonra da değeri belirtin. Bunu yapmak, parametreleri atlamanızı veya farklı bir sırayla yapabilmenizi sağlar.