Porady: tworzenie właściwości (Visual Basic)
Należy ująć definicję właściwości między instrukcją Property
a instrukcją End Property
. W ramach tej definicji zdefiniujesz procedurę, procedurę Get
Set
lub obie te procedury. Cały kod właściwości znajduje się w tych procedurach.
Procedura Get
pobiera wartość właściwości, a Set
procedura przechowuje wartość. Jeśli chcesz, aby właściwość miała dostęp do odczytu/zapisu, należy zdefiniować obie procedury. W przypadku właściwości tylko do odczytu należy zdefiniować tylko Get
właściwość , a dla właściwości tylko do zapisu należy zdefiniować tylko Set
wartość .
Aby utworzyć właściwość
Poza dowolną właściwością lub procedurą użyj instrukcji Property, a następnie instrukcji
End Property
.Jeśli właściwość przyjmuje parametry, postępuj zgodnie
Property
ze słowem kluczowym z nazwą procedury, a następnie listę parametrów w nawiasach.Postępuj zgodnie z nawiasami z klauzulą
As
, aby określić typ danych wartości właściwości. Należy określić typ danych nawet dla właściwości tylko do zapisu.W razie potrzeby dodaj
Get
iSet
procedury. Zapoznaj się z poniższymi wskazówkami.
Aby utworzyć procedurę Pobierania, która pobiera wartość właściwości
Między instrukcjami
Property
iEnd Property
napisz instrukcję Get, a następnie instrukcjęEnd Get
. Nie trzeba definiować żadnych parametrów dlaGet
procedury.Umieść instrukcje kodu, aby pobrać wartość właściwości między instrukcjami
Get
iEnd Get
. Ten kod może zawierać inne obliczenia i manipulacje danymi oprócz generowania i zwracania wartości właściwości.Return
Użyj instrukcji , aby zwrócić wartość właściwości do kodu wywołującego.
Należy napisać procedurę Get
dla właściwości read-write i dla właściwości tylko do odczytu. Nie można zdefiniować Get
procedury dla właściwości tylko do zapisu.
Aby utworzyć procedurę ustawiania, która zapisuje wartość właściwości
Między instrukcjami
Property
iEnd Property
napisz instrukcję Set, a następnie instrukcjęEnd Set
.W instrukcji
Set
opcjonalnie postępuj zgodnieSet
ze słowem kluczowym z listą parametrów w nawiasach. Jeśli lista parametrów nie jest obecna lub jest pusta, zdefiniowany jest niejawny parametr o nazwieValue
, którego typem jest sam typ właściwości. Jeśli lista parametrów nie jest pusta, możesz użyć innej nazwy, jeśli jest to konieczne, ale parametr musi mieć ten sam typ danych co sama właściwość.Umieść instrukcje kodu, aby przechowywać wartość we właściwości między instrukcjami
Set
iEnd Set
. Ten kod może zawierać inne obliczenia i manipulacje danymi oprócz sprawdzania poprawności i przechowywania wartości właściwości.Użyj parametru value, aby zaakceptować wartość dostarczoną przez kod wywołujący. Tę wartość można przechowywać bezpośrednio w instrukcji przypisania lub użyć jej w wyrażeniu, aby obliczyć wartość wewnętrzną do zapisania.
Należy napisać procedurę Set
dla właściwości odczytu i zapisu oraz dla właściwości tylko do zapisu. Nie można zdefiniować Set
procedury dla właściwości tylko do odczytu.
Przykład
Poniższy przykład tworzy właściwość odczytu/zapisu, która przechowuje pełną nazwę jako dwie nazwy składowe, imię i nazwisko. Podczas odczytywania fullName
Get
kodu wywołującego procedura łączy dwie nazwy składników i zwraca pełną nazwę. Gdy kod wywołujący przypisuje nową pełną nazwę, Set
procedura próbuje podzielić ją na dwie nazwy składowe. Jeśli miejsce nie zostanie odnalezione, zapisze je 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 przedstawiono typowe wywołania procedur właściwości programu fullName
. Pierwsze wywołanie ustawia wartość właściwości, a drugie wywołanie je pobiera.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Zobacz też
- z konkretnym obiektem
- Procedury właściwości
- Parametry i argumenty procedur
- Różnice między właściwościami i zmiennymi w Visual Basic
- Instrukcje: deklarowanie właściwości z mieszanymi poziomami dostępu
- Instrukcje: wywoływanie procedury właściwości
- Porady: deklarowanie i wywoływanie właściwości domyślnej w Visual Basic
- Instrukcje: umieszczanie wartości we właściwości
- Instrukcje: pobieranie wartości z właściwości