コード例 #1
0
        internal static IParameterValidator CreateRangeValidator(Type valueType, IDictionary <string, object> parameters)
        {
            object min;
            object max;

            min = Utils.GetParameter(parameters, MinParameterName, valueType);
            max = Utils.GetParameter(parameters, MaxParameterName, valueType);

            return(RangeAttribute.CreateRangeValidator(Type.GetTypeCode(valueType), min, max));
        }
コード例 #2
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));
        }