我需要验证一个整数才能知道是否为有效的枚举值。
用C#做到这一点的最佳方法是什么?
最佳答案
您一定会喜欢这些人,他们认为数据不仅总是来自UI,而且来自控件内的UI!IsDefined
在大多数情况下都可以,您可以从以下内容开始:
public static bool TryParseEnum<TEnum>(this int enumValue, out TEnum retVal)
{
retVal = default(TEnum);
bool success = Enum.IsDefined(typeof(TEnum), enumValue);
if (success)
{
retVal = (TEnum)Enum.ToObject(typeof(TEnum), enumValue);
}
return success;
}
(如果您认为'this'不适合作为int扩展名,则可以将其删除)