¿Hay alguna manera de definir enum en C# como a continuación?valores de cadena enumeración en C#
public enum MyEnum : string
{
EnGb = "en-gb",
FaIr = "fa-ir",
...
}
bien, de acuerdo con el enfoque Erick y enlace, estoy usando esto para comprobar el valor válido a partir de la descripción proporcionada:
public static bool IsValidDescription(string description)
{
var enumType = typeof(Culture);
foreach (Enum val in Enum.GetValues(enumType))
{
FieldInfo fi = enumType.GetField(val.ToString());
AmbientValueAttribute[] attributes = (AmbientValueAttribute[])fi.GetCustomAttributes(typeof(AmbientValueAttribute), false);
AmbientValueAttribute attr = attributes[0];
if (attr.Value.ToString() == description)
return true;
}
return false;
}
alguna mejora?
Como puede ver en las respuestas ... el soporte enum en C#, más allá de lo básico, es un poco escaso ... especialmente de su procedencia del mundo C o C++. No dedique demasiado tiempo tratando de lograr que hagan algo que realmente no quieran hacer. Lo hice, por lo que no tiene demasiado :) – Rusty