Dela via


Anvisningar: Definiera flera versioner av en procedur (Visual Basic)

Du kan definiera en procedur i flera versioner genom att överbelasta den med samma namn men en annan parameterlista för varje version. Syftet med överlagring är att definiera flera nära relaterade versioner av en procedur utan att behöva särskilja dem efter namn.

Mer information finns i Överlagring av procedurer.

Definiera flera versioner av en procedur

  1. Skriv en Sub - eller Function -deklarationssats för varje version av proceduren som du vill definiera. Använd samma procedurnamn i varje deklaration.

  2. Före nyckelordet Sub eller Function i varje deklaration med nyckelordet Overloads . Du kan också utelämna Overloads i deklarationerna, men om du inkluderar den i någon av deklarationerna måste du inkludera den i varje deklaration.

  3. Efter varje deklarationssats skriver du procedurkod för att hantera det specifika fallet där den anropande koden tillhandahåller argument som matchar den versionens parameterlista. Du behöver inte testa för vilka parametrar anropande koden har angett. Visual Basic skickar kontrollen till den matchande versionen av proceduren.

  4. Avsluta varje version av proceduren med instruktionen End Sub eller End Function efter behov.

Exempel

I följande exempel definieras en Sub procedur för att bokföra en transaktion mot en kunds saldo. Det använder nyckelordet Overloads för att definiera två versioner av proceduren, en som accepterar kunden med namn och den andra efter kontonummer.

Overloads Sub post(ByVal custName As String, ByVal amount As Single)
    ' Insert code to access customer record by customer name.
End Sub
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
    ' Insert code to access customer record by account number.
End Sub

Den anropande koden kan hämta kundidentifieringen som antingen en String eller en Integer, och sedan använda samma anropande instruktion i båda fallen.

Information om hur du anropar dessa versioner av proceduren post finns i Så här anropar du en överbelastad procedur.

Kompilera koden

Kontrollera att var och en av dina överlagrade versioner har samma procedurnamn men en annan parameterlista.

Se även