This might seems a pretty trivial problem, but every time I've to get an Enum given its name I forgot how to do it, and I've to look for it on Google.
So, is there a better way to remember something you always forget than writing a post about it?
Back to the problem: going from an Enum to its numeric value or its string representation is quite easy:
/* Enum to string */ string stringValue = enumVal.ToString(); /* Enum to numeric value */ int numericVal = (int) enumVal;
And going from a numeric value to the Enum is quite as easy:
/* Numeric value to Enum int numericVal = 3; MyEnum enumVal = (MyEnum) numericVal;
But going from the name to the Enum is a bit more complicate... well, if you don't remember the function call: the System.Enum class has a static method (Enum.Parse) that converts a string to the Enumerated type specified:
/* String to Enum */ MyEnum enumVal = (MyEnum) Enum.Parse(typeof(MyEnum), stringValue);
Too bad the need for the cast: they could have implemented a generic version of the Parse method.
I hope I'll remember this function call next time I need it... or at least I know where to look for it.