<t>In .NET Core and .NET Framework ≥4.0 there is a generic parse method:<br/>
<br/>
Enum.TryParse("Active", out StatusEnum myStatus);<br/>
<br/>
```<br/>
<br/>
This also includes C#7's new inline `out` variables, so this does the try-parse, conversion to the explicit enum type and initialises+populates the `myStatus` variable.<br/>
<br/>
If you have access to C#7 and the latest .NET this is the best way.<br/>
<br/>
Original Answer<br/>
<br/>
In .NET it's rather ugly (until 4 or above):<br/>
<br/>
```<br/>
StatusEnum MyStatus = (StatusEnum) Enum.Parse(typeof(StatusEnum), "Active", true);<br/>
<br/>
```<br/>
<br/>
I tend to simplify this with:<br/>
<br/>
```<br/>
public static T ParseEnum(string value)<br/>
{<br/>
return (T) Enum.Parse(typeof(T), value, true);<br/>
}<br/>
<br/>
```<br/>
<br/>
Then I can do:<br/>
<br/>
```<br/>
StatusEnum MyStatus = EnumUtil.ParseEnum("Active");<br/>
<br/>
```<br/>
<br/>
One option suggested in the comments is to add an extension, which is simple enough:<br/>
<br/>
```<br/>
public static T ToEnum(this string value)<br/>
{<br/>
return (T) Enum.Parse(typeof(T), value, true);<br/>
}<br/>
<br/>
StatusEnum MyStatus = "Active".ToEnum();<br/>
<br/>
```<br/>
<br/>
Finally, you may want to have a default enum to use if the string cannot be parsed:<br/>
<br/>
```<br/>
public static T ToEnum(this string value, T defaultValue) <br/>
{<br/>
if (string.IsNullOrEmpty(value))<br/>
{<br/>
return defaultValue;<br/>
}<br/>
<br/>
T result;<br/>
return Enum.TryParse(value, true, out result) ? result : defaultValue;<br/>
}<br/>
<br/>
```<br/>
<br/>
Which makes this the call:<br/>
<br/>
```<br/>
StatusEnum MyStatus = "Active".ToEnum(StatusEnum.None);<br/>
<br/>
```<br/>
<br/>
However, I would be careful adding an extension method like this to `string` as (without namespace control) it will appear on all instances of `string` whether they hold an enum or not (so `1234.ToString().ToEnum(StatusEnum.None)` would be valid but nonsensical) . It's often be best to avoid cluttering Microsoft's core classes with extra methods that only apply in very specific contexts unless your entire development team has a very good understanding of what those extensions do.</t>