Como converter uma string para um elemento de uma enumeração?

Publicado por Marcos Dell Antonio em 07/05/2008 | .NET

Lendo o post do Tim Sneath sobre este assunto, lembrei que há certo tempo em uma das empresas que trabalhei, tivemos uma discussão sobre como converter uma string para um elemento de uma enumeração.

Até aquele momento eu utilizada uma maneira bem arcaica para fazer isto, ou seja, criava um método que recebia a string e fazia um switch para retornar respectivo valor da enumeração. Assim:

Definição do enum Operacao
Definição do enum Operacao

Método para converter uma string em enumeração
Método para converter a string

Claro que “levei nos dedos” como dizem por aqui, pois existe uma maneira muito mais eficiente de fazer isto. O pior de tudo é que eu ainda tentei justificar que era por causa do .NET 1.1 e bla bla bla, mas não adiantou, ta lá a MSDN pra provar o contrário. Veja como deve ser feito no .NET 1.1, 2.0, 3.0, 3.5 e até mesmo no .NET Compact Framework:

Exemplo utilizando o método Enum.Parse
Exemplo utilizando o método Enum.Parse

A primeira conversão passa um parâmetro a mais que identifica se deve ignorar o case sensitive ou não. Veja que passei “compra” como parâmetro mas no enum está “Compra” (com o “c” maiúsculo).

Enfim, sem mais desculpas, fico por aqui. :)

Até +.

2 comentários

  1. 1
    varal // May 8th, 2008 at 9:27 am

    Eu sei que nada tem a ver o post com esse comentário, porém, o projeto canguru está fora do ar?!

    Obrigado

  2. 2
    Marcos Dell Antonio // May 16th, 2008 at 12:23 am

    Sim varal. Eu desisti da idéia depois que consegui um bom job aqui no Brasil. Mas ainda acompanho as notícias sobre o visto, parece que está da mesma forma.

    Até +.

Deixe o seu comentário

Anúncios

Anúncio provido pelo BuscaPé