Example #1
0
        static internal IParameterValidator CreateValidator(ParameterValidatorType validatorType, Type valueType, IDictionary <string, object> parameters)
        {
            switch (validatorType)
            {
            case ParameterValidatorType.Range:
                return(RangeAttribute.CreateRangeValidator(valueType, parameters));

            case ParameterValidatorType.Regex:
                return(RegexAttribute.CreateRegexValidator(parameters));

            case ParameterValidatorType.NotNull:
                return(NotNullAttribute.NotNullValidator.instance);

            case ParameterValidatorType.InstanceOfType:
                return(InstanceOfTypeAttribute.CreateValidator(parameters));

            case ParameterValidatorType.AssignableFromType:
                return(AssignableFromTypeAttribute.CreateValidator(parameters));
            }
            throw new NotImplementedException(string.Format("validator type <{0}>, value type <{1}>", validatorType, valueType));
        }