[Dica] Utilização de enums combináveis em C#

Bom dia, pessoal! Aqui vai uma dica rápida de .net …

Para quem um dia precisar trabalhar com enums combináveis em C#, eis um ponto bastante interessante

1) É obrigatório decorarmos o enum com o atributo Flags.

2) É necessário sempre colocar uma opção default com o valor 0, sendo que esta opção não pode ser utilizada nas combinações que forem feitas

3) Os valores dos membros do enumerador não podem ser iguais ao valor da soma de nenhum dos outros membros. Caso contrário, o método ToString irá entender que o usuário selecionou o item cujo valor é igual à soma dos itens escolhidos

Confuso? Aí vai um exemplo!

[Flags]
enum MyOptions
{
	None = 0,
	Option0 = 1,
	Option1 = 2,
	Option2 = 4,
	Option3 = 8
}

Este enum, quando usado com a combinação Option0 | Option1 gera o resultado “Option0, Option1”, que é o que precisamos. Mas se modificarmos o mesmo para a seguinte estrutura:

[Flags]
enum MyOptions
{
	None = 0,
	Option0 = 1,
	Option1 = 2,
	Option2 = 3,
	Option3 = 4
}

Utilizando a mesma combinação, o resultado será “Option2” !!!

Interessante não? Até a próxima dica!!

Anúncios

Sobre Rodrigo Vedovato
Entusiasta de tecnologias Microsoft, trabalho com desenvolvimento desde 2008, mas sempre atuei em comunidades de desenvolvimento e fóruns.

One Response to [Dica] Utilização de enums combináveis em C#

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: