Translate

Utilização de Enums C#


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;
        }
    }