Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Declara um Set
procedimento de propriedade usado para atribuir um valor a uma propriedade.
Sintaxe
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
Partes
attributelist
Opcional. Consulte a Lista de Atributos.
accessmodifier
Opcional em no máximo uma das Get
instruções e Set
nesta propriedade. Pode ser um dos seguintes:
Consulte os níveis de acesso no Visual Basic.
value
Opcional. Parâmetro que contém o novo valor da propriedade. Se não for dado (ou seja, se a lista de parâmetros não estiver presente ou estiver vazia), um parâmetro implícito nomeado value
será definido. O tipo de dados desse parâmetro implícito é o tipo de dados da propriedade em que essa Set
instrução é declarada.
datatype
Obrigatório se value
estiver presente e Option Strict
for On
. Não pode estar presente se value
não for dado. Tipo de dados do value
parâmetro. O tipo de dados especificado deve ser o mesmo que o tipo de dados da propriedade em que essa Set
instrução é declarada.
statements
Opcional. Uma ou mais instruções que são executadas quando o procedimento de Set
propriedade é chamado.
End Set
Obrigatório Encerra a definição do Set
procedimento de propriedade.
Observações
Cada propriedade deve ter um Set
procedimento de propriedade, a menos que a propriedade esteja marcada ReadOnly
. O Set
procedimento é usado para definir o valor da propriedade.
O Visual Basic chama automaticamente o procedimento de Set
uma propriedade quando uma instrução de atribuição fornece um valor a ser armazenado na propriedade.
O Visual Basic passa um parâmetro para o Set
procedimento durante as atribuições de propriedade. Se você não fornecer um parâmetro, Set
o IDE (ambiente de desenvolvimento integrado) usará um parâmetro implícito chamado value
. O parâmetro contém o valor a ser atribuído à propriedade. Normalmente, você armazena esse valor em uma variável local privada e o retorna sempre que o Get
procedimento é chamado.
O corpo da declaração de propriedade pode conter apenas a propriedade Get
e Set
os procedimentos entre a Instrução property e a instrução End Property
. Ele não pode armazenar nada além desses procedimentos. Em particular, ele não pode armazenar o valor atual da propriedade. Você deve armazenar esse valor fora da propriedade, pois se você armazená-lo dentro de qualquer um dos procedimentos de propriedade, o outro procedimento de propriedade não poderá acessá-lo. A abordagem usual é armazenar o valor em uma variável privada declarada no mesmo nível da propriedade. Você deve definir um Set
procedimento dentro da propriedade à qual ele se aplica.
O Set
procedimento usa como padrão o nível de acesso de sua propriedade que contém, a menos que você use accessmodifier
na instrução Set
.
Regras
Níveis de acesso mistos. Se você estiver definindo uma propriedade de leitura/gravação, opcionalmente poderá especificar um nível de acesso diferente para o
Get
Set
procedimento ou o procedimento, mas não ambos. Se você fizer isso, o nível de acesso do procedimento deverá ser mais restritivo do que o nível de acesso da propriedade. Por exemplo, se a propriedade for declaradaFriend
, você poderá declarar oSet
procedimentoPrivate
, mas nãoPublic
.Se você estiver definindo uma
WriteOnly
propriedade, oSet
procedimento representará toda a propriedade. Você não pode declarar um nível de acesso diferente paraSet
, porque isso definiria dois níveis de acesso para a propriedade.
Comportamento
Retornando de um procedimento de propriedade. Quando o
Set
procedimento retorna ao código de chamada, a execução continua seguindo a instrução que forneceu o valor a ser armazenado.Set
os procedimentos de propriedade podem ser retornados usando a Instrução Return ou a Instrução Exit.As
Exit Property
instruções e asReturn
instruções causam uma saída imediata de um procedimento de propriedade. Qualquer número deExit Property
instruções e instruçõesReturn
podem aparecer em qualquer lugar no procedimento e você pode misturarExit Property
eReturn
instruções.
Exemplo
O exemplo a seguir usa a Set
instrução para definir o valor de uma propriedade.
Class propClass
Private propVal As Integer
Property Prop1() As Integer
Get
Return propVal
End Get
Set(ByVal value As Integer)
propVal = value
End Set
End Property
End Class