Propriedade declaração
Declara o nome de uma propriedade e os procedimentos de propriedade usados para armazenar e recuperar o valor da propriedade.
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
[ <attributelist> ] [ accessmodifier ] Get
[ statements ]
End Get
[ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
[ statements ]
End Set
End Property
Partes
attributelist
Opcional.Lista de atributos que se aplicam a esta propriedade ou procedimento Get ou Set.Veja Lista de Atributos.Default
Opcional.Especifica que esta propriedade é a propriedade padrão para a classe ou estrutura na qual ele está definido.Propriedades padrão devem aceitar parâmetros e podem ser definidas e recuperadas sem especificar o nome da propriedade.Se você declarar a propriedade como Default, você não pode usar Private na propriedade ou um dos procedimentos da propriedade.accessmodifier
Opcional na instrução Property e no máximo numa instrução Get e Set.Pode ser um dos seguintes:propertymodifiers
Opcional.Pode ser um dos seguintes:MustOverride Overrides
NotOverridable Overrides
Shared
Opcional.SeeCompartilhamento (Visual Basic).Shadows
Opcional.SeeSombras.ReadOnly
Opcional.SeeReadOnly (Visual Basic).WriteOnly
Opcional.SeeSomente-leitura.name
Obrigatório.Nome da propriedade.SeeNomes de Elementos Declarados.parameterlist
Opcional.Lista de nomes de variáveis locais que representa os parâmetros da propriedade e possíveis parâmetros adicionais do procedimento Set.SeeLista de parâmetros.returntype
Necessário se OptionStrict está On.Tipo de Dados do valor retornado por essa propriedade.Implements
Opcional.Indica que essa propriedade implementa uma ou mais propriedades, cada uma delas definidas em uma interface implementada por essa classe ou estrutura contendo a propriedade.SeeImplementa Declaração.implementslist
Necessário se Implements é fornecido.Lista de propriedades que estão sendo implementadas.implementedproperty [ , implementedproperty ... ]
Cada implementedproperty possui a seguinte sintaxe e partes:
interface.definedname
Parte
Descrição
interface
Obrigatório.Nome de uma interface implementada por essa classe ou estrutura contendo a propriedade.
definedname
Obrigatório.Nome pelo qual a propriedade é definida na interface.
Get
Necessária a menos que a propriedade esteja marcada como WriteOnly.Inicia um procedimento de propriedade Get que é usado para retornar o valor da propriedade.statements
Opcional.Bloco de instruções para executar dentro do procedimento Get ou Set.End Get
Finaliza o procedimento de propriedade Get.Set
Necessária a menos que a propriedade esteja marcada como ReadOnly.Inicia um procedimento de propriedade Set que é usado para armazenar o valor da propriedade.End Set
Finaliza o procedimento de propriedade Set.End Property
Finaliza a definição dessa propriedade.
Comentários
A instrução Property apresenta a declaração de uma propriedade.Uma propriedade pode ter um procedimento Get (somente leitura), um procedimento Set (somente gravação), ou ambos (leitura-gravação).
Você pode usar Property somente no nível de módulo. Isso significa que o contexto da declaração para uma propriedade deve ser uma classe, estrutura, módulo, ou interface, e não pode ser um arquivo fonte, namespace, procedimento ou bloco.Para obter mais informações, consulte Declaração de contextos e níveis de acesso padrão.
Por padrão, as propriedades usam acesso público.Você pode ajustar o nível de acesso de uma propriedade com um modificador de acesso na instrução Property,e, opcionalmente, você pode ajustar um dos procedimentos de suas propriedades para um nível de acesso mais restritivo.
Visual Basic passa um parâmetro para o procedimento Set durante atribuições de propriedade.Se não for fornecido um parâmetro para Set, o ambiente de desenvolvimento integrado (IDE) usa uma parâmetro implícito de nome value.O parâmetro armazena o valor a ser atribuído à propriedade.Você, normalmente, armazena esse valor em uma variável local privada e o retorna quando o procedimento Get for chamado.
Regras
**Níveis de Acesso Mistos.**Se você estiver definindo uma propriedade de leitura e escrita, você pode, opcionalmente, especificar um nível de acesso diferente para o procedimento Get ou Set, mas não para ambos.Se isso for feito, o nível de acesso do procedimento deve ser mais restritivo que o nível de acesso da propriedade.Por exemplo, se a propriedade for declarada como Friend, você pode declarar o procedimento Set como Private, mas não como Public.
Se você estiver definindo uma propriedade ReadOnly ou WriteOnly, o único procedimento de propriedade (Get ou Set,respectivamente) representa tudo da propriedades.Você não pode declarar um nível de acesso diferente para tal procedimento, porque que iria definir dois níveis de acesso para a propriedade.
Tipo de retorno. Uma instrução Property pode declarar o tipo de dados do valor que retorna.Você pode especificar qualquer tipo de dados ou o nome de uma enumeração, estrutura, classe ou interface.
Se você não especificar returntype, a propriedade retorna Object.
Implementação Se essa propriedade utiliza a palavra-chaveImplements , a classe ou estrutura continente deve ter uma instrução Implements imediatamente após sua declaração de Class ou Structure.A instrução Implements deve incluir cada interface especificada em implementslist.No entanto, o nome por qual uma interface define a Property (em definedname) não precisa ser o mesmo que o nome da propriedade (em name).
Comportamento
Retornando a partir de um Procedimento de Propriedade. Quando o procedimento Get ou Set retorna para o código de chamada, a execução continua com a instrução após a instrução que o chamou.
As declarações Exit Property e Return causam uma saída imediata do procedimento de propriedade.Qualquer número de declarações Exit Property e Return pode aparecer em qualquer lugar no procedimento, e você pode misturar declarações Exit Property e Return.
Valor de Retorno Para retornar um valor a partir de um procedimentoGet, você pode ou atribuir o valor ao nome da propriedade ou incluí-lo em uma instrução Return.O exemplo a seguir atribui o valor de retorno ao nome da propriedade quoteForTheDay e, em seguida, usa a instrução Exit Property para retornar.
Private quoteValue As String = "No quote assigned yet."
ReadOnly Property quoteForTheDay() As String Get quoteForTheDay = quoteValue Exit Property End Get End Property
Se você usar Exit Property sem atribuir um valor name, o procedimento Get retornará o valor padrão para o tipo de dados da propriedade.
A instrução Return ao mesmo tempo atribui o valor de retorno do procedimento Get e sai de procedimento.O exemplo a seguir mostra isso.
Private quoteValue As String = "No quote assigned yet."
ReadOnly Property quoteForTheDay() As String Get Return quoteValue End Get End Property
Exemplo
O exemplo a seguir declara uma propriedade em uma classe.
Class Class1
' Define a local variable to store the property value.
Private propertyValue As String
' Define the property.
Public Property prop1() As String
Get
' The Get property procedure is called when the value
' of a property is retrieved.
Return propertyValue
End Get
Set(ByVal value As String)
' The Set property procedure is called when the value
' of a property is modified. The value to be assigned
' is passed in the argument to Set.
propertyValue = value
End Set
End Property
End Class
Consulte também
Tarefas
Como: Adicionar campos e propriedades a uma classe