Dicas rápidas, que usamos várias vezes em um projetos, más que esquecemos corriqueiramente...
Para carregar um enum, seja por string ou inteiro:
// -> Carregando um enun apartir de uma string com seu nome
DayOfWeek dia = (DayOfWeek)Enum.Parse(typeof(DayOfWeek), "Friday");// -> Carregando um enun apartir de um inteiro com seu valor
DayOfWeek dia = (DayOfWeek)Enum.ToObject(typeof(DayOfWeek), 5);
Basicamente uma conversão int to enum ou string to enum.
Pesando assim, podemos bolar dois extension metods:
using System;
namespace ExtensionMethods
{
public static class ExtensionEnun
{
/// <summary>
/// Converte uma String para um Enun.
/// </summary>
/// <typeparam name="T">Tipo do Enun.</typeparam>
/// <param name="value">string para ser convertida.</param>
/// <returns>Enun.</returns>
public static T ToEnun<T>(this string value)
{
return (T)Enum.Parse(typeof(T), value);
}/// <summary>
/// Converte um Número para um Enun.
/// </summary>
/// <typeparam name="T">Tipo do Enun.</typeparam>
/// <param name="value">Inteiro.</param>
/// <returns>Enun.</returns>
public static T ToEnun<T>(this int value)
{
return (T)Enum.ToObject(typeof(T), value);
}
}
}
Espero que seja útil :)
0 comentários:
Postar um comentário