我需要验证一个整数才能知道是否为有效的枚举值。

用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扩展名,则可以将其删除)

10-06 12:12