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, Seto 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
GetSetprocedimento 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 oSetprocedimentoPrivate, mas nãoPublic.Se você estiver definindo uma
WriteOnlypropriedade, oSetprocedimento 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
Setprocedimento retorna ao código de chamada, a execução continua seguindo a instrução que forneceu o valor a ser armazenado.Setos procedimentos de propriedade podem ser retornados usando a Instrução Return ou a Instrução Exit.As
Exit Propertyinstruções e asReturninstruções causam uma saída imediata de um procedimento de propriedade. Qualquer número deExit Propertyinstruções e instruçõesReturnpodem aparecer em qualquer lugar no procedimento e você pode misturarExit PropertyeReturninstruçõ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