Como: Declarar uma estrutura (Visual Basic)
Você começa uma declaração de estrutura com a Structure Statemente termina com a instrução End Structure
. Entre essas duas declarações, você deve declarar pelo menos um elemento . Os elementos podem ser de qualquer tipo de dados, mas pelo menos um deve ser uma variável não compartilhada ou um evento não compartilhado e não personalizado.
Não é possível inicializar nenhum dos elementos da estrutura na declaração de estrutura. Quando você declara uma variável como sendo de um tipo de estrutura, atribui valores aos elementos acessando-os por meio da variável.
Para uma discussão sobre as diferenças entre estruturas e classes, consulte Estruturas e classes.
Para fins de demonstração, considere uma situação em que você deseja acompanhar o nome, a extensão telefônica e o salário de um funcionário. Uma estrutura permite que você faça isso em uma única variável.
Para declarar uma estrutura
Crie as declarações de início e fim para a estrutura.
Você pode especificar o nível de acesso de uma estrutura usando o Público, Protegido, Amigoou palavra-chave Private, ou pode deixá-lo padrão para
Public
.Private Structure employee End Structure
Adicione elementos ao corpo da estrutura.
Uma estrutura deve ter pelo menos um elemento. Você deve declarar cada elemento e especificar um nível de acesso para ele. Se utilizares a instrução Dim sem palavras-chave, o padrão de acessibilidade será
Public
.Private Structure employee Public givenName As String Public familyName As String Public phoneExtension As Long Private salary As Decimal Public Sub giveRaise(raise As Double) salary *= raise End Sub Public Event salaryReviewTime() ' Method to raise the event Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub End Structure
O campo
salary
no exemplo anterior éPrivate
, o que significa que é inacessível fora da estrutura, mesmo da classe que contém. No entanto, o procedimentogiveRaise
éPublic
, por isso pode ser chamado a partir do exterior da estrutura. Da mesma forma, você pode gerar o eventosalaryReviewTime
indiretamente chamando um método dentro da estrutura que o gera. Por exemplo:Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub
Isso permite que você controle como e quando o evento é gerado, mantendo o evento inacessível diretamente de fora da estrutura.
Além de variáveis,
Sub
procedimentos e eventos, você também pode definir constantes, procedimentosFunction
e propriedades em uma estrutura. Você pode designar no máximo uma propriedade como a propriedade padrão, desde que seja necessário pelo menos um argumento. Você pode manipular um evento com um procedimento compartilhadoSub
. Para obter mais informações, consulte Como declarar e chamar uma propriedade padrão no Visual Basic.