Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Właściwość domyślna to właściwość klasy lub struktury, do którego kod może uzyskiwać dostęp bez jego określania. Podczas używania nazw klasy lub struktury jako kodu, ale nie nazw właściwości, a kontekst pozwala na dostęp do właściwości, Visual Basic rozpoznaje dostęp do domyślnej właściwości tej klasy lub struktury, jeśli takowa istnieje.
Klasa lub struktura może mieć co najwyżej jedną właściwość domyślną. Można jednak przeciążyć właściwość domyślną i mieć więcej niż jedną wersję.
Aby uzyskać więcej informacji, zobacz Domyślne.
Aby zadeklarować właściwość domyślną
Zadeklaruj właściwość w normalny sposób. Nie należy określać słowa kluczowego
Shared
lubPrivate
.Uwzględnij
Default
słowo kluczowe w deklaracji właściwości.Określ co najmniej jeden parametr dla właściwości . Nie można zdefiniować właściwości domyślnej, która nie bierze co najmniej jednego argumentu.
Default Property myProperty(ByVal index As Integer) As String
Aby wywołać właściwość domyślną
Zadeklaruj zmienną zawierającą klasę lub typ struktury.
Dim x As New class1(3)
Użyj samej nazwy zmiennej w wyrażeniu, w którym zwykle należy uwzględnić nazwę właściwości.
MsgBox(x)
Postępuj zgodnie z nazwą zmiennej z listą argumentów w nawiasach. Właściwość domyślna musi przyjmować co najmniej jeden argument.
MsgBox(x(1))
Aby pobrać domyślną wartość właściwości, użyj nazwy zmiennej z listą argumentów w wyrażeniu lub po znaku równości (
=
) w instrukcji przypisania.MsgBox(x(1) & x(2) & x(3))
Aby ustawić domyślną wartość właściwości, użyj nazwy zmiennej z listą argumentów po lewej stronie instrukcji przypisania.
x(1) = "Hello" x(2) = " " x(3) = "World"
Zawsze można określić domyślną nazwę właściwości wraz z nazwą zmiennej, tak jak w przypadku uzyskiwania dostępu do dowolnej innej właściwości.
x.myProperty(1) = "Hello" x.myProperty(2) = " " x.myProperty(3) = "World"
Przykład 1
W poniższym przykładzie zadeklarowana jest właściwość domyślna klasy.
Public Class class1
Private myStrings() As String
Sub New(ByVal size As Integer)
ReDim myStrings(size)
End Sub
Default Property myProperty(ByVal index As Integer) As String
Get
' The Get property procedure is called when the value
' of the property is retrieved.
Return myStrings(index)
End Get
Set(ByVal Value As String)
' The Set property procedure is called when the value
' of the property is modified.
' The value to be assigned is passed in the argument
' to Set.
myStrings(index) = Value
End Set
End Property
End Class
Przykład 2
W poniższym przykładzie pokazano, jak wywołać właściwość myProperty
domyślną klasy class1
. Trzy instrukcje przepisania przechowują wartości w myProperty
, a wywołanie MsgBox odczytuje wartości.
Sub Test()
Dim x As New class1(3)
x(1) = "Hello"
x(2) = " "
x(3) = "World"
MsgBox(x(1) & x(2) & x(3))
End Sub
Najczęstszym zastosowaniem właściwości domyślnej w różnych klasach kolekcji jest właściwość Item[].
Niezawodne programowanie
Właściwości domyślne mogą spowodować niewielkie zmniejszenie liczby znaków kodu źródłowego, ale mogą utrudnić odczytywanie kodu. Jeśli kod wywołujący nie jest zaznajomiony z klasą lub strukturą, gdy tworzy odwołanie do nazwy klasy lub struktury, nie może być pewne, czy odwołanie uzyskuje dostęp do samej klasy lub struktury, czy właściwości domyślnej. Może to prowadzić do błędów kompilatora lub drobnych błędów logiki czasu wykonywania.
Można nieco zmniejszyć prawdopodobieństwo błędów właściwości domyślnych, zawsze używając instrukcji Option Strict , aby ustawić sprawdzanie typów kompilatora na On
wartość .
Jeśli planujesz użyć wstępnie zdefiniowanej klasy lub struktury w kodzie, musisz określić, czy ma on właściwość domyślną, a jeśli tak, jaka jest jego nazwa.
Ze względu na te wady należy rozważyć nie zdefiniowanie właściwości domyślnych. W przypadku czytelności kodu należy również rozważyć jawne odwoływanie się do wszystkich właściwości, nawet właściwości domyślnych.
Zobacz także
- Procedury dotyczące nieruchomości
- Parametry i argumenty procedury
- Oświadczenie o Własności
- Wartość domyślna
- Różnice między właściwościami i zmiennymi w Visual Basic
- Instrukcje: tworzenie właściwości
- Instrukcje: deklarowanie właściwości za pomocą mieszanych poziomów dostępu
- Instrukcja: Jak wywołać funkcję właściwości
- Instrukcje: Jak umieścić wartość we właściwości
- Instrukcje: pobieranie wartości z właściwości