public StringToEnumConverter(Type enumType)
: base(typeof(StringValue))
{
Converter = w =>
{
var str = (w as StringValue).Value;
try
{
return Enum.Parse(enumType, str, true);
}
catch
{
var possibilites = enumType.GetFields(BindingFlags.Public | BindingFlags.Static).Select(fi => fi.Name).ToArray();
throw new YAMPArgumentValueException(str, possibilites);
}
};
}