Поделиться через


Свойства, используемые по умолчанию

Обновлен: Ноябрь 2007

Свойство с аргументами может быть объявлено как свойство класса, используемое по умолчанию. Свойство по умолчанию является свойством, которое Visual Basic будет использовать, если определенное свойство не было указано для объекта. Свойства, используемые по умолчанию, полезны, так как они делают исходный код более компактным, позволяя опускать часто используемые значения свойств.

Свойствами, используемыми по умолчанию, могут быть свойства, которые используются наиболее часто, и свойства с параметрами. Например, свойство Item может являться свойством по умолчанию для класса коллекции, так как оно используется часто.

Для свойств, используемых по умолчанию, действуют следующие правила:

  • Тип может иметь только одно свойство, используемое по умолчанию, включая свойства, унаследованные от базового класса. Существует одно исключение из данного правила. Свойство по умолчанию, определенное в базовом классе, может перекрываться другим свойством по умолчанию производного класса.

  • Если свойство базового класса, используемое по умолчанию, доступно при помощи своего синтаксиса, то оно не перекрывается другим свойством по умолчанию в производном классе.

  • По умолчанию свойство не может являться Shared или Private.

  • Если перегруженное свойство является свойством, используемым по умолчанию, то все перегруженные свойства с этим же именем также должны быть определены как Default.

  • Свойства, используемые по умолчанию, должны иметь по крайней мере один аргумент.

Пример

В следующем примере свойство, содержащее массив строк, объявлено как свойство, используемое по умолчанию.

Class Class2
    ' Define a local variable to store the property value.
    Private PropertyValues As String()
    ' Define the default property.
    Default Public Property Prop1(ByVal Index As Integer) As String
        Get
            Return PropertyValues(Index)
        End Get
        Set(ByVal Value As String)
            If PropertyValues Is Nothing Then
                ' The array contains Nothing when first accessed.
                ReDim PropertyValues(0)
            Else
                ' Re-dimension the array to hold the new element.
                ReDim Preserve PropertyValues(UBound(PropertyValues) + 1)
            End If
            PropertyValues(Index) = Value
        End Set
    End Property
End Class

Доступ к свойствам по умолчанию

Получить доступ к свойствам, используемым по умолчанию, можно при помощи упрощенного синтаксиса. Например, в следующем фрагменте кода используется как стандартный синтаксис, так и синтаксис свойств, используемых по умолчанию.

Dim C As New Class2
' The first two lines of code access a property the standard way.

' Property assignment.
C.Prop1(0) = "Value One"
' Property retrieval.
MsgBox(C.Prop1(0))

' The following two lines of code use default property syntax.

' Property assignment.
C(1) = "Value Two"
' Property retrieval.
MsgBox(C(1))

См. также

Основные понятия

Рекомендации по обновлению. Определение свойств по умолчанию без параметров

Изменения свойств по умолчанию для пользователей Visual Basic 6.0

Ссылки

Default (Visual Basic)