Como criar uma propriedade (Visual Basic)
Você encaixa a uma definição de propriedade entre uma declaração Property e uma declaração End Property. Nessa definição você define um procedimento Get, um procedimento Set ou ambos. Todo o código da propriedade está situado nesses procedimentos.
O procedimento Get recupera o valor da propriedade e o procedimento Set armazena um valor. Se você quiser que a propriedade tenha acesso de escrita e leitura, você deve definir ambos procedimentos. Para uma propriedade somente leitura, você define apenas Get, e para uma propredade somente escrita, você define apenas Set.
Fora de qualquer propriedade ou procedimento, utilize uma declaração Instrução Property, seguida de uma declaração End Property.
Se a propriedade recebe parâmetros, obedeça à palava-chavePropertycom o nome do procedimento, e, em seguida, da lista de parâmetros em parênteses.
Siga os parênteses com uma cláusula As para especificar o tipo de dado do valor da propriedade. Você deve especificar o tipo de dado inclusive para uma propriedade somente de escrita.
Adicione procedimentos Get e Set, como apropriado. Veja as seguintes instruções:
Entre as declarações Property e End Property, escreva uma declaração Instrução Get, seguida por uma End Get. Você não precisa definir nenhum parâmetro para o procedimento Get.
Coloque as declarações de código para recuperar o valor da propriedade entre as declarações Get e End Get. Este código pode incluir outros cálculos e manipulações de dados, além da geração e retorno do valor da propriedade.
Use a declaração Return para retornar o valor da propriedade para o código de chamada.
Você deve escrever um procedimento Get para uma propriedade de leitura e escrita e para uma propriedade somente leitura. Você não deve definir um procedimento Get para uma propriedade somente de escrita.
Entre as declarações Property e End Property, escreva uma declaração Instrução Set (Visual Basic), seguida por uma End Set.
Na declaração Set, siga a palava-chave Set com uma lista de parâmetros entre parênteses. Esta lista de parâmetros deve incluir pelo menos um parâmetro de valor passado pelo código de chamada. O nome padrão para este parâmetro de valor é Value, mas você pode usar um nome diferente se apropriado. O parâmetro de valor deve ter o mesmo tipo de dado da propriedade.
Coloque as declarações de código para armazenar o valor da propriedade entre as declarações Set e End Set. Este código pode incluir outros cálculos e manipulações de dados, além da validação e armazenamento do valor da propriedade.
Use o parâmetro do valor para aceitar o valor fornecido pelo código de chamada. Você pode tanto armazenar esse valor diretamente numa declaração de atribuição ou usá-lo como uma expressão para calcular o valor interno a ser armazenado.
Você deve escrever um procedimento Set para uma propriedade de leitura e escrita e para uma propriedade somente escrita. Você não deve definir um procedimento Set para uma propriedade somente de leitura.
O seguinte exemplo cria uma propriedade de leitura e escrita que armazena um nome completo constituído por duas partes: o primeiro nome e o último nome. Quando o código de chamada lê fullName, o Get procedimento combinará 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 duas partes. Se ele não achar um espaço, armazena o nome completo apenas 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 seguinte exemplo mostra chamadas típicas para os procedimentos de propriedade do fullName Esta primeira chamada determina o valor da propriedade e a segunda chamada o recupera.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Como declarar uma propriedade com níveis de acesso mistos (Visual Basic)
Como chamar um procedimento de propriedade (Visual Basic)
Como declarar e chamar uma propriedade padrão no Visual Basic
Como inserir um valor em uma propriedade (Visual Basic)
Como obter um valor a partir de uma propriedade (Visual Basic)
Procedimentos de propriedade (Visual Basic)