public bool ParameterInputIsEnum(string i_Parameter, out string o_EnumStringValue) { bool isParameterInputNotString = false; o_EnumStringValue = null; switch (i_Parameter) { case "Color": o_EnumStringValue = EnumOperations.ListEnumValues <eColor>(true); isParameterInputNotString = true; break; case "Number Of Doors": o_EnumStringValue = EnumOperations.ListEnumValues <eNumOfDoors>(true); isParameterInputNotString = true; break; case "License Type": o_EnumStringValue = EnumOperations.ListEnumValues <eLicenseType>(true); isParameterInputNotString = true; break; case "if it Contains Dangerous Materials": o_EnumStringValue = string.Format("Yes{0}No", Environment.NewLine); isParameterInputNotString = true; break; } return(isParameterInputNotString); }
public static T ValidateAndParseEnum <T>(string i_EnumValue) where T : struct { if (!Enum.TryParse <T>(i_EnumValue, out T enumValue) || !Enum.GetNames(typeof(T)).Contains(i_EnumValue)) { bool enumListWithNumbers = false; throw new FormatException(string.Format("Invalid Choice. Enter one of the following: {0}", EnumOperations.ListEnumValues <T>(enumListWithNumbers))); } return(enumValue); }