private MemberData(MemberInfo memberInfo, Type memberType, IRecursionPolicy recursionPolicy, IEnumerable <ReadyConverter> converters)
 {
     MemberInfo              = memberInfo;
     RecursionPolicy         = recursionPolicy.GetPolicy(memberInfo);
     Converters              = converters;
     EnumerableTypeParameter = GetEnumerableTypeParameter(memberType);
 }
        public ValidationExpressionBuilder(IRecursionPolicy recursionPolicy, IValidatorProvider validatorProvider, IEnumerable <IValidationExpressionConverter> converters)
        {
            _recursionPolicy   = recursionPolicy;
            _validatorProvider = validatorProvider;
            _converters        = converters.ToArray();

            _typeData        = new ConcurrentDictionary <Type, TypeData>();
            _enumerationData = new ConcurrentDictionary <Type, EnumerationData>();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Initializes a new instance of the <see cref="Validator"/> class.
        /// </summary>
        /// <param name="isThreadSafe">Set to <c>true</c> to indicate that the validator will be called from a thread-safe context.</param>
        /// <param name="recursionPolicy">The recursion policy.</param>
        /// <param name="validatorProvider">The validator provider.</param>
        /// <param name="converters">The converters.</param>
        public Validator(bool isThreadSafe, IRecursionPolicy recursionPolicy, IValidatorProvider validatorProvider, IEnumerable <IValidationExpressionConverter> converters)
        {
            _isThreadSafe = isThreadSafe;

            if (isThreadSafe)
            {
                _nonThreadSafeCache = new Dictionary <Type, object>();
            }
            else
            {
                _threadSafeCache = new ConcurrentDictionary <Type, object>();
            }

            _expressionBuilder = new Core.ValidationExpressionBuilder(recursionPolicy, validatorProvider, converters);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Validator"/> class.
 /// </summary>
 /// <param name="isThreadSafe">Set to <c>true</c> to indicate that the validator will be called from a thread-safe context.</param>
 /// <param name="recursionPolicy">The recursion policy.</param>
 /// <param name="validatorProvider">The validator provider.</param>
 /// <param name="converters">The converters.</param>
 public Validator(bool isThreadSafe, IRecursionPolicy recursionPolicy, IValidatorProvider validatorProvider, params IValidationExpressionConverter[] converters)
     : this(isThreadSafe, recursionPolicy, validatorProvider, (IEnumerable <IValidationExpressionConverter>)converters)
 {
 }
 public MemberData(PropertyInfo propertyInfo, IRecursionPolicy recursionPolicy, IEnumerable <ReadyConverter> converters)
     : this(propertyInfo, propertyInfo.PropertyType, recursionPolicy, converters)
 {
 }
 public MemberData(FieldInfo fieldInfo, IRecursionPolicy recursionPolicy, IEnumerable <ReadyConverter> converters)
     : this(fieldInfo, fieldInfo.FieldType, recursionPolicy, converters)
 {
 }