Nombre de cadena de enumeración a partir del valor
Tengo una construcción de enumeración como esta:
public enum EnumDisplayStatus
{
None = 1,
Visible = 2,
Hidden = 3,
MarkedForDeletion = 4
}
En mi base de datos, las enumeraciones están referenciadas por valor. Mi pregunta es, ¿cómo puedo convertir la representación numérica de la enumeración en el nombre de la cadena?
Por ejemplo, dado que 2
el resultado debería ser Visible
.
Aceptado
Puede convertir el int
respaldo en un miembro de enumeración con una conversión simple y luego llamar a ToString()
:
int value = GetValueFromDb();
var enumDisplayStatus = (EnumDisplayStatus)value;
string stringValue = enumDisplayStatus.ToString();
Si necesita obtener una cadena "Visible"
sin obtener EnumDisplayStatus
una instancia, puede hacer esto:
int dbValue = GetDBValue();
string stringValue = Enum.GetName(typeof(EnumDisplayStatus), dbValue);
Prueba esto:
string m = Enum.GetName(typeof(MyEnumClass), value);