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 vara 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 ett uttalande, eller ett uttryck inom ett uttalande, som anger proceduren efter namn och överför kontrollen till den.

Kommer tillbaka från en behandling

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 ett Returuttryck, lämplig avslutsinstruktion för proceduren eller procedurens slutnyckelordets<> instruktion. Kontrollen övergår sedan till den anropande koden efter att proceduranropet har gjorts.

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

  • Med en Exit Sub-instruktion eller en Exit Function-instruktion återgår kontrollen omedelbart till den anropande koden. Satser som följer satsen 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 procedurens brödtext. Instruktionen End returnerar kontrollen omedelbart 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 köras på olika data varje gång du anropar dem. Du kan skicka den här informationen till proceduren som en del av procedur-anropet. Proceduren definierar noll eller fler parametrar, som var och en representerar ett värde som du förväntar dig att skicka till den. Motsvarande 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 genereras 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 det 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 definierar en eller flera typparametrar utöver sina normala parametrar, så att den anropande koden kan skicka specifika datatyper varje gång den anropar.

Procedurer och strukturerad kod

Varje rad med körbar kod i programmet måste finnas i någon procedur, till exempel Main, calculateeller Button1_Click. Om du delar upp stora procedurer i mindre procedurer är programmet mer läsbart.

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