Olá pessoal, nesta quick tip, mostrarei como percorrer todos os valores de um enum além de demonstrar de forma prática como realizar o parse de um enum para seu valor inteiro e para seu valor descritivo.

Insira em uma nova aplicação WindowsForms, Um botão, um list Box e dois TextBoxs, conforme mostrado na figura abaixo.



Declare um tipo enumerado chamado TiposPessoa, que terá os valores Físico, Jurídico, Ambas, conforme mostrado abaixo.



No caso acima, definimos explicitamente os valores 1,2 e 3 respectivamente para os tipos Físico, Jurídico e Ambas.

Insira o seguinte código no evento click do botão “Ler Tipos Pessoa“.





No código acima, nós utilizamos o método GetNames da classe Enum para carregarmos todos os tipos definidos em TiposPessoa.
Após isso, nós percorremos o array de strings e inserimos cada item no nosso listBox.

No evento click do listbox, insira o seguinte código.






Neste caso nos usamos o método Parse para pegarmos o tipo enumerado a partir de uma string, que no nosso caso e o item selecionado no ListBox.

OBS: Observe que o primeiro parâmetro é o Type do tipo enumerado que queremos realizar o parse.

Na primeira linha nós fazemos um cast do tipo retornado pelo método Parse para Int32, dessa forma pegamos o valor do enumerado.

Na segunda linha nós não fazemos o cast, nós simplesmente usamos o ToString do enumerado retornado no método Parse para exibir a descrição do enum.

O resultado final é o seguinte: Ao clicar em “Ler Tipos Pessoa”, a aplicação irá carregar todos os TiposPessoa definimos no enum e a medida que formos clicando em cada item do listBox, iremos exibir ao lado o nome do enum selecionado e o valor definido no mesmo, através do parse que realizamos anteriormente.






É isso aí pessoal, dessa forma podemos evitar em alguns casos alguns ifs e switchs para verificação de tipos enumerados.

É isso aí, espero que tenham gostado, até a próxima quickTip.

Um abraço.
Ricardo Coelho.