public static CenturyPrefixTypeSafeEnum Parse(string input, LanguageEnum language = LanguageEnum.NONE) { CenturyPrefixTypeSafeEnum result = CenturyPrefixTypeSafeEnum.NONE; RegexOptions options = RegexOptions.Compiled | RegexOptions.IgnoreCase; switch (language) { case LanguageEnum.IT: { if (Regex.IsMatch(input, @"^Prima Età", options)) { result = CenturyPrefixTypeSafeEnum.EARLY; } else if (Regex.IsMatch(input, @"^Tarda Età", options)) { result = CenturyPrefixTypeSafeEnum.LATE; } else if (Regex.IsMatch(input, @"^(?:1\s?°|prima) metà del", options)) { result = CenturyPrefixTypeSafeEnum.HALF1; } else if (Regex.IsMatch(input, @"^(?:2\s?°|seconda) metà del", options)) { result = CenturyPrefixTypeSafeEnum.HALF2; } else if (Regex.IsMatch(input, @"^(?:1\s?°|primo) quarto del", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER1; } else if (Regex.IsMatch(input, @"^(?:2\s?°|secondo) quarto del", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER2; } else if (Regex.IsMatch(input, @"^(?:3\s?°|terzo) quarto del", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER3; } else if (Regex.IsMatch(input, @"^(?:4\s?°|quarto|ultimo) quarto del", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER4; } break; } default: { if (Regex.IsMatch(input, @"^Early", options)) { result = CenturyPrefixTypeSafeEnum.EARLY; } if (Regex.IsMatch(input, @"^Mid", options)) { result = CenturyPrefixTypeSafeEnum.MID; } if (Regex.IsMatch(input, @"^Late", options)) { result = CenturyPrefixTypeSafeEnum.LATE; } else if (Regex.IsMatch(input, @"^(?:1st|first) half", options)) { result = CenturyPrefixTypeSafeEnum.HALF1; } else if (Regex.IsMatch(input, @"^(?:2nd|second) half", options)) { result = CenturyPrefixTypeSafeEnum.HALF2; } else if (Regex.IsMatch(input, @"^(?:1st|first) quarter", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER1; } else if (Regex.IsMatch(input, @"^(?:2nd|second) quarter", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER2; } else if (Regex.IsMatch(input, @"^(?:3rd|third) quarter", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER3; } else if (Regex.IsMatch(input, @"^(?:4th|fourth|last) quarter", options)) { result = CenturyPrefixTypeSafeEnum.QUARTER4; } break; } } return(result); }
public static bool Parse(string value, out CenturyPrefixTypeSafeEnum output) { }