public static TEnumType ToEnum<TEnumType>(this string value, bool safe = true)
private enum Level
{
Low = 0,
Medium = 15,
High = 30,
}
var validString = "Medium";
var invalidString = "Friend";
string nullString = null;
validString.ToEnum<Level>(true);
validString.ToEnum<Level>(false);
invalidString.ToEnum<Level>(true).;
Invoking(() => invalidString.ToEnum<Level>(false);
nullString.ToEnum<Level>(true);
Invoking(() => nullString.ToEnum<Level>(false);
Level.Medium
Level.Medium
Level.Low
ArgumentException
Level.Low
ArgumentException