How can an int
be cast to an enum
in C#?
This is an flags enumeration aware safe convert method:
public static bool TryConvertToEnum(this int instance, out T result)
where T: Enum
{
var enumType = typeof (T);
var success = Enum.IsDefined(enumType, instance);
if (success)
{
result = (T)Enum.ToObject(enumType, instance);
}
else
{
result = default(T);
}
return success;
}