Porady: deklarowanie i wywoływanie w właściwości domyślnej w Visual Basic
A domyślną właściwość jest właściwością klasy lub struktury kodu można uzyskać dostęp bez określenia jej.Gdy wywołanie kodu nazwy klasy lub struktury, ale nie właściwość i zezwala na dostęp do właściwości, w kontekście Visual Basic rozwiązuje dostęp do tej klasy lub struktury domyślne właściwości, jeśli taki istnieje.
Klasy lub struktury może mieć co najwyżej jedną domyślną właściwość.Można jednak przeciążenie właściwości domyślne i mieć więcej niż jedną wersję.
Aby uzyskać więcej informacji, zobacz Default (Visual Basic).
Aby zadeklarować właściwości domyślne
Deklarować właściwości w normalny sposób.Nie określono Shared lub Private słowa kluczowego.
Zawiera Default słowa kluczowego w deklaracji właściwości.
Należy określić co najmniej jeden parametr dla właściwości.Nie można zdefiniować domyślną właściwość, która nie ma co najmniej jeden argument.
Default Property myProperty(ByVal index As Integer) As String
Wywołanie właściwości domyślne
Zadeklaruj zmienną typu zawierające klasy lub struktury.
Dim x As New class1(3)
Użyć samodzielnie w wyrażeniu nazwa zmiennej, gdzie powinny zazwyczaj zawierać nazwę właściwości.
MsgBox(x)
Po nazwie zmiennej, z listy argumentów w nawiasach.Domyślną właściwość musi mieć co najmniej jeden argument.
MsgBox(x(1))
Do pobierania wartości właściwości domyślne, należy użyć nazwy zmiennej, z listy argumentów, w wyrażeniu lub w następstwie równy (=) zarejestrować się w instrukcji przypisania.
MsgBox(x(1) & x(2) & x(3))
Aby ustawić wartość domyślną właściwości, należy użyć nazwy zmiennej, z listy 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 samo, jak byłoby dostępu do innych właściwości.
x.myProperty(1) = "Hello" x.myProperty(2) = " " x.myProperty(3) = "World"
Przykład
Poniższy przykład deklaruje właściwości domyślnej 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
Poniższy przykład ilustruje sposób wywołania domyślną właściwość myProperty klasy class1.Instrukcji przypisania trzy przechowują wartości w myPropertyoraz MsgBox call 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ęściej właściwości domyślnej jest Item właściwość na różne klasy kolekcji.
Stabilne programowanie
Domyślne właściwości może spowodować zmniejszenie małych znaków kodu źródłowego, ale one może poprawić czytelność kodu bardziej trudne do odczytania.Jeśli kod wywołujący nie jest zaznajomiony z klasy lub struktury, przy wydawaniu odniesienia do nazwy klasy lub struktury go nie może być niektórych czy uzyskuje dostęp tego odwołania do klasy lub struktury, sam lub domyślnej właściwości.Może to prowadzić do błędów kompilatora lub logiki run-time subtelne błędy.
Można nieco zmniejszyć ryzyko wystąpienia błędów właściwości domyślne przy użyciu zawsze Option Strict — Instrukcja w celu ustawienia typu kompilator sprawdzania On.
Jeśli zamierzasz użyć wstępnie zdefiniowane klasy lub struktury w kodzie, należy określić, czy ma ona domyślnej właściwości, a jeśli tak, co jego nazwa jest.
Z powodu tych niedogodności należy rozważyć nie Definiowanie domyślnych właściwości.Aby zwiększyć czytelność kodu należy również wziąć pod uwagę zawsze odniesienia do wszystkich właściwości jawnie, nawet domyślne właściwości.
Zobacz też
Zadania
Porady: tworzenie właściwości (Visual Basic)
Porady: deklarowanie właściwości z mieszanymi poziomami dostępu (Visual Basic)
Porady: wywoływanie procedury właściwości (Visual Basic)
Porady: umieszczanie wartości we właściwości (Visual Basic)
Porady: pobieranie wartości z właściwości (Visual Basic)
Informacje
Koncepcje
Procedury własności (Visual Basic)