Como: Criar uma propriedade (Visual Basic)
Você inclui uma definição de propriedade entre uma Property
instrução e uma End Property
instrução. Dentro dessa definição, você define um Get
procedimento, um Set
procedimento ou ambos. Todo o código da propriedade está dentro destes procedimentos.
O Get
procedimento recupera o valor da propriedade e armazena Set
um valor. Se desejar que a propriedade tenha acesso de leitura/gravação, você deverá definir ambos os procedimentos. Para uma propriedade somente leitura, você define somente Get
, e para uma propriedade somente gravação, você define somente Set
.
Para criar uma propriedade
Fora de qualquer propriedade ou procedimento, use uma Declaração de propriedade, seguida de uma
End Property
declaração.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
Property
instruções eEnd Property
, escreva uma declaração Get, seguida de umaEnd Get
declaração. Não é necessário definir parâmetros para oGet
procedimento.Coloque as instruções de código para recuperar o valor da propriedade entre as
Get
instruções andEnd Get
. 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 para o 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
Property
instruções eEnd Property
, escreva uma instrução set, seguida de umaEnd Set
instrução.Set
Na instrução, opcionalmente, siga aSet
palavra-chave 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 nomeadoValue
será definido, cujo tipo é o tipo da própria propriedade. Se a lista de parâmetros não estiver vazia, você poderá 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
Set
instruções andEnd Set
. 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 value 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 primeiro nome e o sobrenome. Quando o código de chamada é lido, o Get
procedimento combina os dois nomes constituintes fullName
e retorna o nome completo. Quando o código de chamada atribui um novo nome completo, o Set
procedimento tenta dividi-lo em dois nomes constituintes. Se não encontrar um espaço, armazena tudo como o primeiro 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)
Consulte também
- Procedimentos
- Procedimentos de propriedade
- Parâmetros e argumentos do 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: Colocar um valor em uma propriedade
- Como: Obter um valor de uma propriedade