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 funkcji (Visual Basic)
Procedury operatorów (Visual Basic)