Utilização de Enums C#
Um tipo de enumeração (também chamado de uma enumeração ou enum) fornece uma maneira eficiente para definir um conjunto de constantes integrais nomeadas que podem ser atribuídas a um valor.
Fonte: https://docs.microsoft.com/pt-br/dotnet/csharp/programming-guide/enumeration-types
A seguir estão as vantagens de usar uma enumeração, em vez de um tipo numérico:
- Você especifica claramente para o código do cliente quais valores são válidos para a variável.
- No Visual Studio, o IntelliSense lista os valores definidos.
--------------------------------------------
namespace Proj.OperacaoPadrao.Domain.Enums
{
public enum TipoOperacaoPadrao : int
{
[Description("Baixa do Caixa")]
BaixaCaixa = 1,
[Description("Estorno do Caixa")]
EstornoCaixa =2,
}
}
-----------------------------------
throw new NullReferenceException(
string.Format("A operação padrão '({0}) {1}' não está configurada para a loja{2}. ",
(int)TipoOperacaoPadrao.BaixaCaixa,
TipoOperacaoPadrao.BaixaCaixa.GetDescription(),
codLoja));
-----------------------------------
public static class EnumExtension
{
public static string GetDescription(this Enum value)
{
Type type = value.GetType();
var name = Enum.GetName(type, value);
if (name == null)
return "";
var field = type.GetField(name);
if (field == null)
return "";
var attr = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
if (attr == null)
return "";
return attr.Description;
}
}