Extensões para Enum

Tango.Linq.EnumExtensions

Esta classe contém dois métodos capazes de transformar um enum em uma coleção do tipo IEnumerable<T>, onde T é o tipo do enum.

Métodos

Nome

Parâmetros

Retorno

Descrição

AsEnumerable

IEnumerable<T>

Converte um enum para uma coleção do tipo IEnumerable, onde cada elemento representa um valor do enum.

AsEnumerableSkipZero

IEnumerable<T>

Converte um enum para uma coleção do tipo IEnumerable, onde cada elemento representa um valor do enum, ignorando o valor zero, comumente utilizado para opções como: Nenhum, não existente e etc.

Como Usar

Para transformar um respectivo enum do tipo T em um IEnumerable<T> basta realizar uma chamada aos métodos, informando o tipo do enum como parâmetro através do generics.

Veja o exemplo a seguir:

enum Options
{
  None = 0,
  FirstOption = 1,
  SecondOption = 2,
  ThirdOption = 3
}

IEnumerable<Options> result = EnumExtensions.AsEnumerable<Options>();

// result = [None, FirstOption, SecondOption, ThirdOption]

Você também pode ignorar o valor zero do enum, utilizando o método AsEnumerableSkipZero.

enum Options
{
  None = 0,
  FirstOption = 1,
  SecondOption = 2,
  ThirdOption = 3
}

IEnumerable<Options> result = EnumExtensions.AsEnumerable<Options>();

// result = [FirstOption, SecondOption, ThirdOption]

Last updated