public static TEnum Parse <TEnum>(string name, bool ignoreCase = false) where TEnum : struct, IComparable, IFormattable, IConvertible { if (Holder <TEnum> .GetNameValues(ignoreCase).TryGetValue(name, out TEnum result)) { return(result); } return((TEnum)Enum.Parse(typeof(TEnum), name, ignoreCase)); }
public static TEnum Parse <TEnum>([NotNull] string name, bool ignoreCase = false) where TEnum : struct, Enum { if (Holder <TEnum> .GetNameValues(ignoreCase).TryGetValue(name, out var result)) { return(result); } return((TEnum)Enum.Parse(typeof(TEnum), name, ignoreCase)); }
public static TEnum[] GetValues <TEnum>() where TEnum : struct, IComparable, IFormattable, IConvertible => Holder <TEnum> .GetNameValues(false).Values.ToArray();
public static string[] GetNames <TEnum>(bool ignoreCase = false) where TEnum : struct, IComparable, IFormattable, IConvertible => Holder <TEnum> .GetNameValues(ignoreCase).Keys.ToArray();
public static IReadOnlyDictionary <string, TEnum> GetNameValues <TEnum>(bool ignoreCase = false) where TEnum : struct, IComparable, IFormattable, IConvertible => Holder <TEnum> .GetNameValues(ignoreCase);
public static bool TryParse <TEnum>(string name, bool ignoreCase, out TEnum result) where TEnum : struct, IComparable, IFormattable, IConvertible => Holder <TEnum> .GetNameValues(ignoreCase).TryGetValue(name, out result) || EnumClass.TryParse(name, ignoreCase, out result);
public static bool TryParse <TEnum>([NotNull] string name, bool ignoreCase, out TEnum result) where TEnum : struct, Enum => Holder <TEnum> .GetNameValues(ignoreCase).TryGetValue(name, out result) || EnumTargetingHelpers.TryParse(name, ignoreCase, out result);
public static TEnum[] GetValues <TEnum>() where TEnum : struct, Enum => Holder <TEnum> .GetNameValues(false).Values.ToArray();
public static string[] GetNames <TEnum>(bool ignoreCase = false) where TEnum : struct, Enum => Holder <TEnum> .GetNameValues(ignoreCase).Keys.ToArray();
public static IReadOnlyDictionary <string, TEnum> GetNameValues <TEnum>(bool ignoreCase = false) where TEnum : struct, Enum => Holder <TEnum> .GetNameValues(ignoreCase);