public static void RequireInEnumeration(Type enumerationType, string parameterValue, string parameterName, string customMessage = null) { InternalContract.RequireNotNull(enumerationType, nameof(enumerationType)); InternalContract.Require(enumerationType.IsEnum, $"Parameter {nameof(enumerationType)} must be of type enum."); if (parameterValue == null) { return; } var message = customMessage ?? $"ContractViolation: {parameterName} ({parameterValue}) must represent one of the enumeration values for ({enumerationType.FullName})."; Require(Enum.IsDefined(enumerationType, parameterValue), message); }
public static void InEnumeration(Type enumerationType, string value, string errorLocation = null, string customMessage = null) { InternalContract.RequireNotNull(enumerationType, nameof(enumerationType)); InternalContract.Require(enumerationType.IsEnum, $"Parameter {nameof(enumerationType)} must be of type enum."); if (value == null) { return; } var message = customMessage ?? $"Expected ({value}) to represent one of the enumeration values for ({enumerationType.FullName})."; IsTrue(Enum.IsDefined(enumerationType, value), errorLocation, message); }