Dela via


Procedurer i Visual Basic

En procedur är ett block med Visual Basic-instruktioner som omges av en deklarationsinstruktion (Function, , SubOperator, Get, Set) och en matchande End deklaration. Alla körbara instruktioner i Visual Basic måste finnas inom någon procedur.

Anropa en procedur

Du anropar en procedur från någon annan plats i koden. Detta kallas för ett proceduranrop. När proceduren är klar returneras kontrollen till den kod som anropade den, som kallas anropande kod. Den anropande koden är en -instruktion, eller ett uttryck i en -instruktion, som anger proceduren efter namn och överför kontrollen till den.

Returnera från en procedur

En procedur returnerar kontrollen till den anropande koden när den har körts klart. För att göra detta kan den använda en returuttryck, lämplig exit statement-instruktion för proceduren eller procedurens End <keyword> Statement-instruktion . Kontrollen skickas sedan till den anropande koden efter proceduranropets punkt.

  • Med en Return -instruktion återgår kontrollen omedelbart till den anropande koden. Instruktioner som följer instruktionen Return körs inte. Du kan ha fler än en Return instruktion i samma procedur.

  • Med en Exit Sub -instruktion Exit Function återgår kontrollen omedelbart till den anropande koden. Instruktioner som följer instruktionen Exit körs inte. Du kan ha mer än en Exit -instruktion i samma procedur och du kan blanda Return - och Exit -instruktioner i samma procedur.

  • Om en procedur inte har några Return - eller Exit -instruktioner avslutas den med en End Sub - eller End Function- End Geteller End Set -instruktion efter den sista instruktionen i proceduren. -instruktionen End returnerar kontrollen direkt till den anropande koden. Du kan bara ha en End -instruktion i en procedur.

Parametrar och argument

I de flesta fall måste en procedur fungera på olika data varje gång du anropar den. Du kan skicka den här informationen till proceduren som en del av proceduranropet. Proceduren definierar noll eller flera parametrar, som var och en representerar ett värde som du förväntar dig att skicka till den. Motsvarar varje parameter i procedurdefinitionen är ett argument i proceduranropet. Ett argument representerar det värde som du skickar till motsvarande parameter i ett angivet proceduranrop.

Typer av procedurer

Visual Basic använder flera typer av procedurer:

  • Underprocedurer utför åtgärder men returnerar inte ett värde till den anropande koden.

  • Procedurer för händelsehantering är Sub procedurer som körs som svar på en händelse som utlöses av en användaråtgärd eller av en förekomst i ett program.

  • Funktionsprocedurer returnerar ett värde till den anropande koden. De kan utföra andra åtgärder innan de returneras.

    Vissa funktioner som skrivits i C# returnerar ett referensreturvärde. Funktionsanropare kan ändra returvärdet och den här ändringen återspeglas i tillståndet för det anropade objektet. Från och med Visual Basic 2017 kan Visual Basic kod använda referensreturvärden, även om den inte kan returnera ett värde med referens. Mer information finns i Referensreturvärden.

  • Egenskapsprocedurer returnerar och tilldelar värden för egenskaper för objekt eller moduler.

  • Operatorprocedurer definierar beteendet för en standardoperator när en eller båda operanderna är en nydefinierad klass eller struktur.

  • Allmänna procedurer i Visual Basic definiera en eller flera typparametrar utöver deras normala parametrar, så att den anropande koden kan skicka specifika datatyper varje gång den gör ett anrop.

Procedurer och strukturerad kod

Varje körbar kodrad i programmet måste finnas i någon procedur, till exempel Main, calculateeller Button1_Click. Om du delar upp stora procedurer i mindre, är ditt program mer lättläst.

Procedurer är användbara för att utföra upprepade eller delade uppgifter, till exempel beräkningar som används ofta, text- och kontrollmanipulering och databasåtgärder. Du kan anropa en procedur från många olika platser i koden, så att du kan använda procedurer som byggstenar för ditt program.

Genom att strukturera koden med procedurer får du följande fördelar:

  • Med procedurer kan du dela upp dina program i diskreta logiska enheter. Du kan felsöka separata enheter enklare än du kan felsöka ett helt program utan procedurer.

  • När du har utvecklat procedurer för användning i ett program kan du använda dem i andra program, ofta med liten eller ingen ändring. Detta hjälper dig att undvika kodduplicering.

Se även