Procedury podrzędne (Visual Basic)

Procedura Sub to seria instrukcji Visual Basic ujętych w Sub End Sub instrukcje i . Procedura wykonuje zadanie, a następnie zwraca kontrolę do kodu wywołującego, ale nie zwraca wartości Sub do kodu wywołującego.

Za każdym razem, gdy jest wywoływana procedura, jej instrukcje są wykonywane, począwszy od pierwszej instrukcji wykonywalnego po instrukcji i kończąc na pierwszej napotkanej instrukcji Sub End Sub , lub Exit Sub Return .

Procedurę można zdefiniować Sub w modułach, klasach i strukturach. Domyślnie jest to , co oznacza, że można ją wywołać z dowolnego miejsca w aplikacji, która ma dostęp do modułu, klasy lub struktury, w której Public ją zdefiniowano. Termin metoda opisuje procedurę lub dostępną spoza jej modułu definiującego, Sub klasy lub Function struktury. Aby uzyskać więcej informacji, zobacz Procedury.

Procedura może przyjmować argumenty, takie jak stałe, zmienne lub wyrażenia, które są przekazywane do niego przez Sub kod wywołujący.

Składnia deklaracji

Składnia do deklarowania Sub procedury jest następująca:

[modifiers] Sub SubName[(parameterList)]
    ' Statements of the Sub procedure.
End Sub

Może modifiers określać poziom dostępu i informacje o przeciążeniu, zastępowaniu, udostępnianiu i przesłanianiu. Aby uzyskać więcej informacji, zobacz Sub, instrukcja.

Deklaracja parametru

Każdy parametr procedury deklaruje się podobnie do deklarowania zmiennej, określając nazwę parametru i typ danych. Można również określić mechanizm przekazywania i określić, czy parametr jest opcjonalny, czy tablicą parametrów.

Składnia każdego parametru na liście parametrów jest następująca:

[Optional] [ByVal | ByRef] [ParamArray] parameterName As DataType

Jeśli parametr jest opcjonalny, należy również podać wartość domyślną w ramach jego deklaracji. Składnia określania wartości domyślnej jest następująca:

Optional [ByVal | ByRef]  parameterName As DataType = defaultValue

Parametry jako zmienne lokalne

Gdy kontrolka przechodzi do procedury, każdy parametr jest traktowany jako zmienna lokalna. Oznacza to, że jego okres istnienia jest taki sam jak w procedurze, a jej zakres to cała procedura.

Składnia wywoływania

Należy jawnie wywołać Sub procedurę za pomocą autonomicznej instrukcji wywołującej. Nie można go wywołać przy użyciu jego nazwy w wyrażeniu. Należy podać wartości dla wszystkich argumentów, które nie są opcjonalne, i należy ująć listę argumentów w nawiasy. Jeśli argumenty nie zostaną podane, opcjonalnie możesz pominąć nawiasy. Użycie słowa Call kluczowego jest opcjonalne, ale nie jest zalecane.

Składnia wywołania procedury Sub jest następująca:

[Call] SubName[(argumentlist)]

Możesz wywołać metodę Sub spoza klasy , która ją definiuje. Najpierw należy użyć słowa kluczowego , aby utworzyć wystąpienie klasy, lub wywołać metodę, która zwraca New wystąpienie klasy. Aby uzyskać więcej informacji, zobacz Nowy operator. Następnie można użyć następującej składni, aby wywołać Sub metodę w obiekcie wystąpienia:

object.MethodName[(argumentList)]

Ilustracja deklaracji i wywołania

Następująca procedura informuje operatora komputera, które zadanie ma wykonać Sub aplikacja, a także wyświetla sygnaturę czasową. Zamiast duplikować ten kod na początku każdego zadania, aplikacja po prostu wywołuje tellOperator aplikację z różnych lokalizacji. Każde wywołanie przekazuje ciąg w task argumentie, który identyfikuje uruchomione zadanie.

Sub tellOperator(ByVal task As String)
    Dim stamp As Date
    stamp = TimeOfDay()
    MsgBox("Starting " & task & " at " & CStr(stamp))
End Sub

W poniższym przykładzie pokazano typowe wywołanie tellOperator .

tellOperator("file update")

Zobacz też