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>(); }
/// <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); }
/// <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) { }