May 07 2008

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

Autor: Marcos Dell Antonio - Categorias: .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é +.

Adicione ao del.icio.us del.icio.us | Adicione ao Rec6 Rec6

2 comentários para “Como converter uma string para um elemento de uma enumeração?”

  1. varalem 08 May 2008 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. Marcos Dell Antonioem 16 May 2008 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é +.

Faça um comentário