How to convert a string to an enum in C#?
Use this extension method:
using System;
namespace Rhyous.Extensions
{
public static class StringExtensions
{
public static T AsEnum<T>(this string str, T defaultValue)
{
try { return (T)Enum.Parse(typeof(T), str, true); }
catch { return defaultValue; }
}
}
}
So imagine you have this enum:
public enum LogLevel
{
Debug,
Information,
Warning,
Error,
Fatal
}
Call it like this:
var levelStr = "Error"; LogLevel level = levelStr.AsEnum(LogLevel.Info);

