Sitter och funderar på vad det är för skillnad på att göra ett funktionsanrop på dessa två sätt: Call används i VB6 och VB.Net för att markera att man är medveten om att man ignorerar returvärdet från en funktion. Exempel : Anrop utan CAll skiljder sig åt i VB6 och tidigare mot VB.NETAnrop
1. VisaPerson()
2. Call VisaPerson()
Alltså, vad innebär Call argumentet?
J.Sv: Anrop
<code>
Public Function AddPerson(personnummer as string) As Person
Return PersonCollection.Add(new Person(personnummer))
End Function
' Här vet man att programmeraren medvetet ignorerar returvärdet, antagligen för att han/hon inte behöver det nyskapade personobjektet just nu.
Call AddPerson("121212-1212")
' Här kan programmeraren ha gjort ett misstag och glömt tagit hand om returvärdet. Om funktionen AddPerson inte hade lagt det i en collection så hade objektet kanske aldrig gått att få tag på igen.
AddPerson("121212-1212")
</code>
Personligen använder jag aldrig Call, eftersom jag inte tycker att värdet överstiger förfulningen av koden, men det är ju en högst personlig åsikt. Det är heller inte standard i något annat större språk som jag kan komma på just nu och eftersom jag kodar flera olika språk så försöker jag koda ungefär likadant i alla språk så långt det går (med namnstandarder och dylikt)...Sv: Anrop
Korrekt anrop i tidigare VB är:
<code>
AddPerson "121212-1212"
</code>
Vilket man förstår om man försöker ange mer än ett ergument:
<code>
AddPerson "121212-1212", "Nisse"
</code>
Däremot i VB.NET anger man alltid parantes runt anrop:
<code>
AddPerson("121212-1212")
</code>
Och:
<code>
AddPerson("121212-1212", "Nisse")
</code>