コード例 #1
0
 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);
 }
コード例 #2
0
            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);
            }