c# - una - Enumerar el nombre de la cadena de valor
elementos de la cadena de valor (7)
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 volver la representación numérica de la enumeración al nombre de la cadena?
Por ejemplo, dado 2
el resultado debe ser Visible
.
DB a C #
EnumDisplayStatus status = (EnumDisplayStatus)int.Parse(GetValueFromDb());
C # a DB
string dbStatus = ((int)status).ToString();
Prueba esto:
string m = Enum.GetName(typeof(MyEnumClass), value);
Puede volver a convertir el int
en un miembro de enumeración con una conversión simple y luego llamar a ToString()
:
int value = GetValueFromDb();
EnumDisplayStatus enumDisplayStatus = (EnumDisplayStatus)value;
string stringValue = enumDisplayStatus.ToString();
Si necesita obtener una cadena "Visible"
sin obtener la instancia de EnumDisplayStatus
, puede hacer esto:
int dbValue = GetDBValue();
string stringValue = Enum.GetName(typeof(EnumDisplayStatus), dbValue);
Simplemente lance el int al tipo de enumeración:
EnumDisplayStatus status = (EnumDisplayStatus) statusFromDatabase;
string statusString = status.ToString();
Utilizar esta:
string bob = nameof(EnumDisplayStatus.Visible);
solo puedes lanzarlo
int dbValue = 2;
EnumDisplayStatus enumValue = (EnumDisplayStatus)dbValue;
string stringName = enumValue.ToString(); //Visible
ah .. kent me lo ganó :)