public enum WeekDay
{
Monday = 1,
Tuesday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
}
string s = WeekDay.Friday.ToString();
semplice come sembra ... a meno che non sto equivoco qualcosa?
E se avete solo il numero:
string s = ((WeekDay)4).ToString();
UPDATE
OK, la prossima volta si deve ricordare che si desidera qualcosa di generico .. da utilizzare per tutte le enumerazioni e non solo quella specifica esempio. Si può provare questo:
public static class EnumExtensions
{
public static T ToEnum<T>(this int value) where T : struct
{
return (T)(object)value;
}
public static string ToEnumName<T>(this int value) where T : struct
{
return ((T)(object)value).ToString();
}
}
Usa come questo:
int someEnumValue = 4;
string name = someEnumValue.ToEnumName<WeekDay>();
o:
WeekDay weekDay = someEnumValue.ToEnum<WeekDay>();
io ancora non credo che sia davvero necessario, però, perché è ancora necessario sapere il tipo di enum comunque ... quindi quindi:
Questo: string name = ((WeekDay)someEnumValue).ToString();
e questo string name = someEnumValue.ToEnumName<WeekDay>();
sono equivalenti ... ma .. qualunque cosa vi si addice.
Perché non usare semplicemente 'EnumVariable.ToString'? – ppetrov
Stai chiedendo in particolare la proprietà DateTime.DayOfWeek o in generale su qualsiasi enum? – dbasnett
@ dbasnett tratta di qualsiasi enum – ElektroStudios