Como criar uma propriedade (Visual Basic)
Você inclui uma definição de propriedade entre uma Property
instrução e uma instrução End Property
. Dentro dessa definição, você define um Get
procedimento, um Set
procedimento ou ambos. Todo o código da propriedade está dentro desses procedimentos.
O Get
procedimento recupera o valor da propriedade e o Set
procedimento armazena um valor. Se você quiser que a propriedade tenha acesso de leitura/gravação, defina ambos os procedimentos. Para uma propriedade somente leitura, você define apenas Get
e, para uma propriedade somente gravação, você define apenas Set
.
Para criar uma propriedade
Fora de qualquer propriedade ou procedimento, use uma Instrução de Propriedade, seguida por uma instrução
End Property
.Se a propriedade usa parâmetros, siga a
Property
palavra-chave com o nome do procedimento e, em seguida, a lista de parâmetros entre parênteses.Siga os parênteses com uma
As
cláusula para especificar o tipo de dados do valor da propriedade. Você deve especificar o tipo de dados mesmo para uma propriedade somente gravação.Adicionar
Get
eSet
procedimentos, conforme apropriado. Veja as instruções a seguir.
Para criar um procedimento Get que recupera um valor de propriedade
Entre as instruções e
Property
asEnd Property
instruções, escreva uma Instrução Get, seguida de uma instruçãoEnd Get
. Você não precisa definir parâmetros para oGet
procedimento.Coloque as instruções de código para recuperar o valor da propriedade entre as instruções e
Get
asEnd Get
instruções. Esse código pode incluir outros cálculos e manipulações de dados, além de gerar e retornar o valor da propriedade.Use uma
Return
instrução para retornar o valor da propriedade ao código de chamada.
Você deve escrever um Get
procedimento para uma propriedade de leitura-gravação e para uma propriedade somente leitura. Você não deve definir um Get
procedimento para uma propriedade somente gravação.
Para criar um procedimento Set que grava o valor de uma propriedade
Entre as instruções e
Property
asEnd Property
instruções, escreva uma Instrução Set, seguida de uma instruçãoEnd Set
.Na instrução
Set
, siga a palavra-chaveSet
com uma lista de parâmetros entre parênteses. Se a lista de parâmetros não estiver presente ou estiver vazia, um parâmetro implícito chamadoValue
será definido, cujo tipo é da própria propriedade. Se a lista de parâmetros não estiver vazia, você pode usar um nome diferente, se apropriado, mas o parâmetro deverá ter o mesmo tipo de dados que a própria propriedade.Coloque as instruções de código para armazenar um valor na propriedade entre as instruções e
Set
asEnd Set
instruções. Esse código pode incluir outros cálculos e manipulações de dados, além de validar e armazenar o valor da propriedade.Use o parâmetro de valor para aceitar o valor fornecido pelo código de chamada. Você pode armazenar esse valor diretamente em uma instrução de atribuição ou usá-lo em uma expressão para calcular o valor interno a ser armazenado.
Você deve escrever um Set
procedimento para uma propriedade de leitura-gravação e para uma propriedade somente gravação. Você não deve definir um Set
procedimento para uma propriedade somente leitura.
Exemplo
O exemplo a seguir cria uma propriedade de leitura/gravação que armazena um nome completo como dois nomes constituintes, o nome e o sobrenome. Quando o código de chamada lê fullName
, o procedimento Get
combina os dois nomes constituintes e retorna o nome completo. Quando o código de chamada atribui um novo nome completo, o procedimento Set
tenta dividi-lo em dois nomes constituintes. Se ele não encontrar um espaço, armazenará tudo como o nome.
Dim firstName, lastName As String
Property fullName() As String
Get
If lastName = "" Then
Return firstName
Else
Return firstName & " " & lastName
End If
End Get
Set(ByVal Value As String)
Dim space As Integer = Value.IndexOf(" ")
If space < 0 Then
firstName = Value
lastName = ""
Else
firstName = Value.Substring(0, space)
lastName = Value.Substring(space + 1)
End If
End Set
End Property
O exemplo a seguir mostra chamadas típicas para os procedimentos de propriedade de fullName
. A primeira chamada define o valor da propriedade e a segunda chamada o recupera.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Confira também
- Procedimentos
- Procedimentos de propriedade
- Parâmetros e Argumentos de Procedimento
- Diferenças entre propriedades e variáveis no Visual Basic
- Como declarar uma propriedade com níveis de acesso mistos
- Como chamar um procedimento de propriedade
- Como declarar e chamar uma propriedade padrão no Visual Basic
- Como inserir um valor em uma propriedade
- Como obter um valor a partir de uma propriedade