Udostępnij za pośrednictwem


Właściwość procedur (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 (Uzyskiwanie instrukcji) lub tylko do zapisu (Instrukcja Set (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 auto wdrożone (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 między właściwości i zmiennych w języku Visual Basic.

Składnia deklaracji

Samą właściwość jest zdefiniowana przez blok kodu, umieszczonej w Właściwość instrukcji 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 Właściwość instrukcji.

bc3dtbky.collapse_all(pl-pl,VS.110).gifTyp 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ść.

bc3dtbky.collapse_all(pl-pl,VS.110).gifPoziom 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 Jak: zadeklarować właściwości z mieszanych poziomów dostępu (Visual Basic).

Deklaracja parametru

Deklarujesz każdego parametru w taki sam sposób jak w przypadku Procedury typu Sub (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)

bc3dtbky.collapse_all(pl-pl,VS.110).gifIlustracja 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

Jak: Tworzenie właściwości (Visual Basic)

Jak: wywołanie procedury właściwości (Visual Basic)

Jak: deklaruje i wywołać domyślną właściwość w języku Visual Basic

Jak: Umieść wartość we właściwości (Visual Basic)

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

Koncepcje

Procedury języka Visual Basic

Procedury typu Function (Visual Basic)

Operator procedur (Visual Basic)

Parametry procedury i argumenty (Visual Basic)

Różnice między właściwości i zmiennych w języku Visual Basic