Procedury własności (Visual Basic)

Procedura właściwość to szereg Visual Basic instrukcji, które operują właściwości niestandardowej na module, klasy lub struktury.Właściwość procedury są również znane jako Akcesory właściwości.

Visual Basicprzedstawia procedury następujące właściwości:

  • A Get procedura zwraca wartość właściwości.To jest wywoływane, gdy dostęp do właściwości, w wyrażeniu.

  • A Set procedura ustawia właściwość na wartość, tym odwołanie do obiektu.Nazywa się podczas przypisywania wartości do właściwości.

Zazwyczaj zdefiniowanie procedur właściwość w parach, za pomocą Get i Set instrukcji, ale można zdefiniować niezależnie od procedury tylko, jeśli właściwość jest tylko do odczytu (Get — Instrukcja) lub tylko do zapisu (Set — Instrukcja (Visual Basic)).

Można pominąć Get i Set procedury, gdy przy użyciu właściwości z auto wdrożone.Aby uzyskać więcej informacji, zobacz Właściwości zaimplementowane automatycznie (Visual Basic).

W modułach klas, struktur i definiowania właściwości.Właściwości są Public domyślnie, co oznacza, możesz zadzwonić do nich z dowolnego miejsca w aplikacji, który można uzyskać dostęp do obiektu kontenera.

Dla porównania zmiennych i właściwości, zobacz Różnice pomiędzy właściwościami i zmiennymi w Visual Basic.

Składnia deklaracji

Samą właściwość jest zdefiniowana przez blok kodu, umieszczonej w Property — Instrukcja i End Property instrukcji.Wewnątrz tego bloku każdej procedury właściwość pojawia się jako wewnętrzny blok, ujęte w instrukcji deklaracji (Get lub Set) i odpowiadającym End deklaracji.

Składnia deklaracji właściwość i jej procedury jest następująca:

[Default] [Modifiers] Property PropertyName[(ParameterList)] [As DataType]
    [AccessLevel] Get
        ' Statements of the Get procedure.
        ' The following statement returns an expression as the property's value.
        Return Expression
    End Get
    [AccessLevel] Set[(ByVal NewValue As DataType)]
        ' Statements of the Set procedure.
        ' The following statement assigns newvalue as the property's value.
        LValue = NewValue
    End Set
End Property
- or -
[Default] [Modifiers] Property PropertyName [(ParameterList)] [As DataType]

Modifiers Można określić poziom dostępu i informacji dotyczących przeciążenia, zastępowanie, udostępnianie i przesłanianie, jak również czy właściwość jest tylko do odczytu lub tylko do zapisu.AccessLevel Na Get lub Set procedura może być dowolnym poziomie, który jest bardziej restrykcyjna niż poziom dostępu określonego dla samej właściwości.Aby uzyskać więcej informacji, zobacz Property — Instrukcja.

Typ danych

Typ danych właściwości i poziom główny dostępu są zdefiniowane w Property instrukcja nie w procedurach właściwość.Właściwość może mieć tylko jednego typu danych.Na przykład, nie można definiować właściwości do przechowywania Decimal wartości, ale pobrać Double wartość.

Poziom dostępu

Można jednak zdefiniować poziom dostępu głównej dla właściwości i bardziej ograniczyć poziom dostępu w jednym z jej procedurami właściwość.Na przykład, można zdefiniować Public właściwość i definiujesz Private Set procedury.Get Procedury pozostaje Public.Można zmienić poziomu dostępu w tylko jednej z procedur właściwość, a jedynie możesz go bardziej restrykcyjne niż poziom dostępu głównej.Aby uzyskać więcej informacji, zobacz Porady: deklarowanie właściwości z mieszanymi poziomami dostępu (Visual Basic).

Deklaracja parametru

Deklarujesz każdego parametru w taki sam sposób jak w przypadku Sub — Procedury (Visual Basic), z tym, że mechanizm mijania musi być ByVal.

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

[Optional] ByVal [ParamArray] parametername As datatype

Jeśli parametr jest opcjonalny, należy również podać wartość domyślną jako część swojej deklaracji.Składnię służącą do wartości domyślnej jest następująca:

Optional ByVal parametername As datatype = defaultvalue

Wartość właściwości

W Get procedury, wartość zwracana jest dostarczany do wywołującego wyrażenia jako wartość właściwości.

W Set procedury, nową wartość właściwości jest przekazywana do parametru Set instrukcji.Jeśli jawnie zadeklarować parametr, należy zadeklarować ją z tego samego typu danych jako właściwość.Jeśli parametr nie są deklarowane, kompilator wykorzystuje parametr niejawny Value do reprezentowania nową wartość ma być przypisany do właściwości.

Wywołanie składni

Wszcząć procedurę właściwość jest niejawnie poprzez odniesienie do właściwości.Możesz użyć nazwy właściwości taki sam sposób jak używasz nazwę zmiennej, z tym, że należy podać wartości dla wszystkich argumentów, które nie są opcjonalne, a lista argumentów należy ująć w nawiasy.Jeśli argumenty nie są dostarczane, opcjonalnie można pominąć nawiasy.

Składnia niejawna wywołanie do Set się następującą procedurę:

propertyname[(argumentlist)] = expression

Składnia niejawna wywołanie do Get się następującą procedurę:

lvalue = propertyname[(argumentlist)]

Do While (propertyname[(argumentlist)] > expression)

Ilustracja deklaracji i wywołanie

Następująca właściwość przechowuje pełną nazwę jako dwie nazwy składowych, imię i nazwisko.Kiedy odczytuje kod wywołujący fullName, Get procedura połączy obie nazwy składowych i zwraca pełną nazwę.Gdy kod wywołujący przypisuje nową nazwą pełną, Set procedura próbuje podzielić je na dwie nazwy składowych.Jeżeli spacja nie zostanie znaleziona, przechowuje je wszystkie jako imię.

Dim firstName, lastName As String 
Property fullName() As String 
    Get 
      If lastName = "" Then 
          Return firstName
      Else 
          Return firstName & " " & lastName
      End If 

    End Get 
    Set(ByVal Value As String)
        Dim space As Integer = Value.IndexOf(" ")
        If space < 0 Then
            firstName = Value
            lastName = "" 
        Else
            firstName = Value.Substring(0, space)
            lastName = Value.Substring(space + 1)
        End If 
    End Set 
End Property

W poniższym przykładzie pokazano typowy wywołań procedur właściwość z fullName.

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

Zobacz też

Zadania

Porady: tworzenie właściwości (Visual Basic)

Porady: wywoływanie procedury właściwości (Visual Basic)

Porady: deklarowanie i wywoływanie w właściwości domyślnej w Visual Basic

Porady: umieszczanie wartości we właściwości (Visual Basic)

Porady: pobieranie wartości z właściwości (Visual Basic)

Koncepcje

Procedury w Visual Basic

Procedury funkcji (Visual Basic)

Procedury operatorów (Visual Basic)

Parametry i argumenty procedur (Visual Basic)

Różnice pomiędzy właściwościami i zmiennymi w Visual Basic