if (!Enum.IsDefined(typeof(SearchMode), options)) throw new ArgumentException(Properties.Resources.InvalidEnumerationValue, "options");
SearchMode为一个枚举类型, 若传入的options值不在此枚举定义范围内, 比如枚举定义了1,2, 而options是由3 cast来的, 则IsDefined方法返回false.