Si declara una enumeración en C#, el tipo predeterminado es automáticamente int.C# Enums and casting
Entonces, ¿por qué en un enunciado de caso u otras instancias cuando se usa la enumeración hay que volver a refundir explícitamente para usar los valores? ¿De qué sirve tener un tipo subyacente si tienes que justificar explícitamente o simplemente estoy haciendo algo mal aquí?
private enum MyEnum
{
Value1,
Value2,
Value3
}
switch (somevalue)
{
case (int)MyEnum.Value1:
someothervar = "ss";
break;
case (int)MyEnum.Value2:
someothervar = "yy";
break;
case (int)MyEnum.Value3:
someothervar = "gg";
break;
}
Estos fragmentos de código se ven un poco incómodos. Usted define una enumeración y el parámetro entrante (algún valor) es un int. Me parece extraño ... –