Procedury w Visual Basic
Procedura to blok instrukcji Visual Basic ujęta w instrukcję deklaracji (Function
, Sub
, Operator
, Get
Set
) i zgodną End
deklarację. Wszystkie instrukcje wykonywalne w Visual Basic muszą należeć do pewnej procedury.
Wywoływanie procedury
Procedura jest wywoływana z innego miejsca w kodzie. Jest to nazywane wywołaniem procedury. Po zakończeniu działania procedury zwraca ona kontrolę do kodu, który go wywołał, który jest znany jako kod wywołujący. Kod wywołujący jest instrukcją lub wyrażeniem w instrukcji, które określa procedurę według nazwy i przekazuje do niej kontrolkę.
Zwracanie z procedury
Procedura zwraca kontrolę do kodu wywołującego po zakończeniu jego działania. W tym celu może użyć instrukcji Return, odpowiedniej instrukcji Exit Statement dla procedury lub instrukcji end <instrukcji słowa kluczowego> procedury. Następnie kontrolka przekazuje do kodu wywołującego po punkcie wywołania procedury.
Za pomocą instrukcji kontrolka
Return
natychmiast wraca do kodu wywołującego. Instrukcje następujące po instrukcjiReturn
nie są uruchamiane. W tej samej procedurze można mieć więcej niż jednąReturn
instrukcję.Za pomocą instrukcji
Exit Sub
lubExit Function
kontrolka jest natychmiast zwracana do kodu wywołującego. Instrukcje następujące po instrukcjiExit
nie są uruchamiane. Można mieć więcej niż jednąExit
instrukcję w tej samej procedurze i można mieszaćReturn
instrukcje iExit
w tej samej procedurze.Jeśli procedura nie
Return
ma instrukcji lubExit
, kończy się z instrukcjąEnd Sub
lubEnd Function
,End Get
lubEnd Set
po ostatniej instrukcji jednostki procedury. InstrukcjaEnd
zwraca kontrolę natychmiast do kodu wywołującego. W procedurze można mieć tylko jednąEnd
instrukcję.
Parametry i argumenty
W większości przypadków procedura musi działać na różnych danych przy każdym wywołaniu. Te informacje można przekazać do procedury w ramach wywołania procedury. Procedura definiuje zero lub więcej parametrów, z których każda reprezentuje wartość, której oczekuje przekazania. Odpowiadający każdemu parametrowi w definicji procedury jest argumentem wywołania procedury. Argument reprezentuje wartość przekazywaną do odpowiedniego parametru w danym wywołaniu procedury.
Typy procedur
Visual Basic używa kilku typów procedur:
Podrzędne procedury wykonują akcje, ale nie zwracają wartości do kodu wywołującego.
Procedury obsługi zdarzeń to
Sub
procedury wykonywane w odpowiedzi na zdarzenie zgłoszone przez akcję użytkownika lub wystąpienie w programie.Procedury funkcji zwracają wartość do kodu wywołującego. Mogą wykonywać inne akcje przed zwróceniem.
Niektóre funkcje napisane w języku C# zwracają wartość zwracaną przez odwołanie. Obiekty wywołujące funkcję mogą modyfikować wartość zwracaną, a ta modyfikacja jest odzwierciedlana w stanie wywoływanego obiektu. Począwszy od Visual Basic 2017 r., kod Visual Basic może używać wartości zwracanych odwołań, chociaż nie może zwracać wartości według odwołania. Aby uzyskać więcej informacji, zobacz Odwołania do wartości zwracanych.
Procedury właściwości zwracają i przypisują wartości właściwości w obiektach lub modułach.
Procedury operatorów definiują zachowanie operatora standardowego, gdy jeden lub oba operandy są nowo zdefiniowaną klasą lub strukturą.
Procedury ogólne w Visual Basic definiują co najmniej jeden parametr typu oprócz ich normalnych parametrów, dzięki czemu kod wywołujący może przekazywać określone typy danych za każdym razem, gdy wykonuje wywołanie.
Procedury i kod strukturalny
Każdy wiersz kodu wykonywalnego w aplikacji musi znajdować się wewnątrz procedury, takiej jak Main
, calculate
lub Button1_Click
. W przypadku podzielenia dużych procedur na mniejsze, aplikacja jest bardziej czytelna.
Procedury są przydatne do wykonywania powtarzających się lub współużytkowanych zadań, takich jak często używane obliczenia, manipulowanie tekstem i kontrolą oraz operacje bazy danych. Możesz wywołać procedurę z wielu różnych miejsc w kodzie, aby można było używać procedur jako bloków konstrukcyjnych dla aplikacji.
Struktura kodu za pomocą procedur zapewnia następujące korzyści:
Procedury umożliwiają podzielenie programów na dyskretne jednostki logiczne. Oddzielne jednostki można debugować łatwiej niż debugować cały program bez procedur.
Po opracowaniu procedur do użycia w jednym programie można ich używać w innych programach, często z niewielkimi lub bez modyfikacji. Pomaga to uniknąć duplikowania kodu.