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