Yes - you can use Enum.Parse(and Enum.TryParsewith .NET 4) to parse a string to an enum value:
Day day = (Day) Enum.Parse(typeof(Day), "Sun");
or
Day day;
if (Enum.TryParse<Day>("Sun", out day))
{
}
This is still somewhat ugly, mind you - the first call involves a certain amount of casting, and the second does not stop you from trying to parse any type of value.
, Parse/TryParse, , - "1" , . .
(IMO!) , Unconstrained Melody - , , , :
Day day = Enums.ParseName<Day>("Sun");
Day day;
if (Enums.TryParseName<Day>("Sun", out day))
{
}
, , . ( , , ,... ..)