Enum.IsDefined判断枚举值是否存在

      if (!Enum.IsDefined(typeof(SearchMode), options))
              throw new ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");

SearchMode为一个枚举类型, 若传入的options值不在此枚举定义范围内, 比如枚举定义了1,2, 而options是由3 cast来的, 则IsDefined方法返回false.

原文地址:https://www.cnblogs.com/MolbyHome/p/1518400.html