sábado, 17 de outubro de 2009

Utilizando Enum no C#

Uma maneira muito prática para armazenamento de valores simbólicos que utilizam tipos de dados numéricos como byte, sbyte, short, ushort, int, uint, long ou ulong é a utilização do Enum. Com um Enum é possível armazenar um valor mais concreto que representa um número qualquer enriquecendo a utilização do componente, principalmente para terceiros.
Por exemplo, imagine que tenhamos um método que consulta uma pessoa na base de dados. A assinatura deste método tem dois parâmetros. O primeiro é um "int" que representa o tipo da consulta (1 = CPF, 2 = RG, 3 = Titulo Eleitor). O segundo é o argumento de pesquisa, conforme escolhido no primeiro parâmentro. Então, digamos que eu vou consultar por CPF, teria que passar:

object obj = c.Consultar(1, "222.222.222-77");

Agora, imagine que outro profissional irá utilizar sua classe para fazer a pesquisa, ele terá que recorrer a documentação para poder fazer uma simples consulta. Dependendo do tamanho da classe, pode gastar muito mais tempo tentando entender a documentação do que na implementação em sí.

Vamos melhorar essa consulta criando e utilizando um Enum:

enum EnumConsulta
{
    CPF = 1,   
    RG = 2,
    TituloEleitor = 3
}
No enum criado, por não ter sido tipado, ele assume o tipo "int". Caso queira tipar diferente:
enum EnumConsulta : byte
 

Depois mudando a consulta para aceitar no primeiro parâmetro um EnumConsulta ao invés de int, teremos o seguinte:

object obj = c.Consultar(EnumConsulta.CPF, "222.222.222-77");
Sempre que puder, utilizem este benefício do Enum, será muito útil para todos.

Até a próxima

Nenhum comentário:

Postar um comentário