Compartilhar via


Propriedades Padrão

Uma propriedade que aceita argumentos pode ser declarada como a propriedade padrão para uma classe.Uma propriedade padrão é a propriedade que o Visual Basic usará quando nenhuma propriedade específica for denominada para um objeto.Propriedades padrão são úteis porque elas permitem que você faça seu código-fonte mais compacto, omitindo nomes de propriedades usados com frequência.

Os melhores candidatos para propriedades padrão são as propriedades que aceitam parâmetros e que você acha que serão usadas com mais frequência.Por exemplo, a propriedade Item é uma boa opção para a propriedade padrão de uma classe coleção porque é usada com frequência.

As seguintes regras se aplicam às propriedades padrão:

  • Um tipo pode ter apenas uma propriedade padrão, incluindo propriedades herdadas de um classe base.Há uma exceção a essa regra.Uma propriedade padrão definida em um classe base pode ser sombreada por outra propriedade padrão em um classe derivada.

  • Se uma propriedade padrão de uma classe base é sombreada por uma propriedade que não seja padrão, em um classe derivada, a propriedade padrão ainda será acessível usando a sintaxe da propriedade padrão.

  • Uma propriedade padrão não pode ser Shared ou Private.

  • Se uma propriedade sobrecarregada for uma propriedade padrão, todas as propriedades padrão como o mesmo nome também deverão especificar Default.

  • As propriedades padrão devem aceitar pelo menos um argumento.

Exemplo

O exemplo a seguir declara uma propriedade que contém uma matriz de sequências de caracteres como a propriedade padrão para uma classe:

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

Acessando Propriedades Padrão

Você pode acessar as propriedades padrão usando a sintaxe abreviada.Por exemplo, o fragmento de código a seguir usa o padrão e a sintaxe da propriedade padrão:

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))

Consulte também

Conceitos

Recomendação de Atualizar: Resolver propriedades padrão sem parâmetros

Alterações de propriedades padrão para usuários do Visual Basic 6.0

Referência

Padrão (Visual Basic)