Visual Basic 2012 Voorbeelden
   

visual basic 2012 broncode voorbeelden

Blijf op de hoogte van de recente aanpassingen op vbvoorbeelden!

Microsoft Visual Studio 2012Microsoft Developers Network - Visual BasicMicrosoft .NET Framework

8.3. Argument Passing

Print Email Deel op Twitter Deel op Facebook

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.

8.3.1. Argument Passing By Position

De positie waarin een argumentwaarde wordt opgegeven in een call naar een method, bepaald voor welke argumentvariabele een waarde wordt gespecificeerd.

In onderstaand voorbeeld zal de eerste argumentwaarde "Hello" worden toegekend aan de eerste argumentvariabele argument1.  De tweede argumentwaarde zal worden toegekend aan de tweede argumentvariabele argument2.

Bij optionele argumenten mag men niet vergeten de nodige kommas aan te brengen om voor de compiler duidelijk te maken voor welke argumentvariabele men een waarde specificeert.
Zo zal de call op regel (1) enkel een waarde opgeven voor
argument3, gezien deze argumentwaarde vooraf wordt gegaan door twee kommas.
Visual Basic 2012 Broncode - Codevoorbeeld 155
Module Example1
    Public Sub Main()
        Test1("Hello", "World")
        '
        Test2()
        Test2(10)
        Test2(, 20)
        Test2(, , 30)                                                      ' (1)
        Test2(10, 20)
        Test2(10, , 30)
        Test2(, 20, 30)
        Test2(10, 20, 30)
        '
        Console.ReadLine()
    End Sub
    Public Sub Test1(ByVal argument1 As String, _
                     ByVal argument2 As String)
        Console.WriteLine(argument1 & " " & argument2)
    End Sub
    Public Sub Test2(Optional ByVal argument1 As Integer = 1, _
                     Optional ByVal argument2 As Integer = 2, _
                     Optional ByVal argument3 As Integer = 3)
        Console.WriteLine(argument1 + argument2 + argument3)
    End Sub
End Module
Console Application Output
Hello World
6
15
24
33
33
42
51
60

8.3.2. Argument Passing By Name

In Visual Basic 9.0 (2008) is het ook mogelijk om aan de hand van de naam van de argumentvariabele te specificiëren welke argumentwaarde men voorziet.
Visual Basic 2012 Broncode - Codevoorbeeld 156
Module Example2
    Public Sub Main()
        Example1.Test1(argument1:="Hello", argument2:="World")             ' (1)
        Example1.Test1(argument2:="World", argument1:="Hello")             ' (2)
        Example1.Test1("Hello", argument2:="World")                        ' (3)
        '
        Example1.Test2(argument2:=20)
        Example1.Test2(10, argument3:=30)
        Example1.Test2(argument1:=10, argument3:=30)
        Example1.Test2(argument3:=30, argument1:=10)
        '
        Console.ReadLine()
    End Sub
End Module
Console Application Output
Hello World
Hello World
Hello World
24
42
42
42
De volgorde waarin men argumentwaarden opgeeft kan zo onbelangrijk worden.  Regel (1) en (2) zijn gelijkaardige calls.

Men geeft simpelweg via de naam van de argumentvariabele aan voor welk argumentvariabele de argumentwaarde is bedoeld.

Bemerk hoe het ook mogelijk is in dezelfde call zowel argumentwaarden op basis van positie en op basis van naam door te geven (3).

Vooral wanneer men dit toepast bij optionele argumenten kan dit beter leesbare code opleveren.

Dit artikel is gepubliceerd op maandag 15 oktober 2012 op vbvoorbeelden, bezoek de website voor een recente versie van dit artikel of andere artikels.