internal Type GetPropertyType(ValidationContext validationContext) { ValidationAttributeStore.EnsureValidationContext(validationContext); ValidationAttributeStore.TypeStoreItem typeStoreItem = this.GetTypeStoreItem(validationContext.ObjectType); ValidationAttributeStore.PropertyStoreItem propertyStoreItem = typeStoreItem.GetPropertyStoreItem(validationContext.MemberName); return(propertyStoreItem.PropertyType); }
internal IEnumerable <ValidationAttribute> GetPropertyValidationAttributes(ValidationContext validationContext) { ValidationAttributeStore.EnsureValidationContext(validationContext); ValidationAttributeStore.TypeStoreItem typeStoreItem = this.GetTypeStoreItem(validationContext.ObjectType); ValidationAttributeStore.PropertyStoreItem propertyStoreItem = typeStoreItem.GetPropertyStoreItem(validationContext.MemberName); var attributes = propertyStoreItem.ValidationAttributes; List <IOrderValidationAttribute> list = new List <IOrderValidationAttribute>(); List <ValidationAttribute> list2 = new List <ValidationAttribute>(); foreach (var attribute in attributes) { var item = attribute as IOrderValidationAttribute; if (item != null) { list.Add(item); } else { list2.Add(attribute); } } var result = list .OrderBy(x => x.Order) .OfType <ValidationAttribute>() .Union(list2); return(result); }