Instrução Property
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 ] [ Iterator ]
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
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
Partes
Termo |
Definição |
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:
|
Shared |
Opcional.Consulte Compartilhado (Visual Basic). |
Shadows |
Opcional.Consulte Sombras (Visual Basic). |
ReadOnly |
Opcional.Consulte ReadOnly (Visual Basic). |
WriteOnly |
Opcional.Consulte WriteOnly (Visual Basic). |
Iterator |
Opcional.Consulte iterador. |
name |
Obrigatório.Nome da propriedade.Consulte Nomes de elementos declarados (Visual Basic). |
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.Consulte Lista de parâmetros (Visual Basic). |
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.Consulte Instrução Implements. |
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
ParteDescriçã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 |
Opcional.Necessário se a propriedade é WriteOnlymarcado.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 |
Opcional.Necessário se a propriedade é ReadOnlymarcado.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 omitir o procedimento de Get e de Set ao usar uma propriedade automática implementado.Para mais informações, consulte Propriedades de auto-implementado (Visual Basic).
Você pode usar Property somente em nível de classe.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 mais informações, consulte Níveis de acesso padrão (Visual Basic) e os contextos de declaraçã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 gravação, você pode opcionalmente especificar um nível de acesso diferente para Get ou procedimento de Set , mas não 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. A declaração de Property pode declarar o tipo de dados de 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 esta propriedade usa a palavra-chave de Implements , a classe ou estrutura contenedora devem ter uma instrução de Implements imediatamente depois da declaração de Class ou de 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 retorna de Get ou de Set o código de chamada, continuarão execução com a declaração que segue a declaração que a 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 de um procedimento de Get , você pode atribuir um valor ao nome da propriedade ou incluí-lo em uma instrução de 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
Referência
Lista de parâmetros (Visual Basic)
Conceitos
Propriedades de auto-implementado (Visual Basic)