IAllowedValueSpecification FromDefault(TypeInfo reflectedType, MemberInfo parameter) { var defaultValue = _defaults.Get(reflectedType) .Invoke(parameter); var inverse = new EqualitySpecification <object>(defaultValue).Inverse(); var result = new AllowedValueSpecification(inverse); return(result); }
IAllowedValueSpecification FromDefault(TypeInfo reflectedType, MemberDescriptor parameter) { var defaultValue = _defaults.Get(reflectedType) .Invoke(parameter.Metadata); var specification = IsCollectionTypeSpecification.Default.IsSatisfiedBy(parameter.MemberType) ? _generic.Get(CollectionItemTypeLocator.Default.Get(parameter.MemberType)) .Invoke(defaultValue) : new EqualitySpecification <object>(defaultValue); var result = new AllowedValueSpecification(specification.Inverse()); return(result); }