/// <summary> /// Initializes a new instance of the <see cref="ConfigurationValidatedElement"/> class for a field. /// </summary> /// <param name="validatedFieldReference">The field reference configuration object.</param> /// <param name="fieldInfo">The field.</param> public ConfigurationValidatedElement(ValidatedFieldReference validatedFieldReference, FieldInfo fieldInfo) { UpdateFlyweight(validatedFieldReference, fieldInfo); }
/// <summary> /// Updates the flyweight for a field. /// </summary> /// <param name="validatedFieldReference">The field reference configuration object.</param> /// <param name="fieldInfo">The field.</param> public void UpdateFlyweight(ValidatedFieldReference validatedFieldReference, FieldInfo fieldInfo) { if (fieldInfo == null) throw new ArgumentNullException("fieldInfo"); this.UpdateFlyweight(validatedFieldReference, fieldInfo, fieldInfo.FieldType); }
/// <summary> /// This member supports the Enterprise Library infrastructure and is not intended to be used directly from your code. /// </summary> public Validator CreateValidatorForField(Type type, ValidatedFieldReference fieldReference) { if (fieldReference == null) throw new ArgumentNullException("fieldReference"); if (fieldReference.Validators.Count == 0) return null; FieldInfo fieldInfo = ValidationReflectionHelper.GetField(type, fieldReference.Name, false); if (fieldInfo == null) return null; ConfigurationValidatedElement validatedElement = new ConfigurationValidatedElement(fieldReference, fieldInfo); return CreateValidatorForValidatedElement(validatedElement, this.GetCompositeValidatorBuilderForField); }