Nombre de cadena de enumeración a partir del valor

Resuelto jdee asked hace 16 años • 15 respuestas

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 2el resultado debería ser Visible.

jdee avatar Nov 21 '08 23:11 jdee
Aceptado

Puede convertir el intrespaldo 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();
Kent Boogaart avatar Nov 21 '2008 16:11 Kent Boogaart

Si necesita obtener una cadena "Visible"sin obtener EnumDisplayStatusuna instancia, puede hacer esto:

int dbValue = GetDBValue();
string stringValue = Enum.GetName(typeof(EnumDisplayStatus), dbValue);
algreat avatar Dec 14 '2012 13:12 algreat

Prueba esto:

string m = Enum.GetName(typeof(MyEnumClass), value);
Mandoleen avatar Jan 02 '2012 09:01 Mandoleen