예제 #1
0
        public VerifiableMemberContract(Type declaringType)
        {
            _verifiableMemberContractImpl = null;
            DeclaringType = declaringType;
            MemberKind    = VerifiableMemberKind.Unknown;
            IsBasicType   = declaringType.IsBasicType();

            _propertyInfo = null;
            _fieldInfo    = null;

            _reflectorProvider = null;
            _attributes        = Arrays.Empty <Attribute>();
            IncludeAnnotations = false;
        }
예제 #2
0
        public VerifiableMemberContract(ICustomVerifiableMemberContractImpl contractImpl)
        {
            _verifiableMemberContractImpl = contractImpl ?? throw new ArgumentNullException(nameof(contractImpl));
            DeclaringType = contractImpl.DeclaringType;
            MemberKind    = VerifiableMemberKind.CustomContract;
            IsBasicType   = contractImpl.IsBasicType;

            _propertyInfo = null;
            _fieldInfo    = null;

            _reflectorProvider = null;
            _attributes        = Arrays.Empty <Attribute>();
            IncludeAnnotations = contractImpl.IncludeAnnotations;
        }
예제 #3
0
        public VerifiableMemberContract(Type declaringType, FieldInfo field)
        {
            _verifiableMemberContractImpl = null;
            DeclaringType = declaringType;
            MemberKind    = VerifiableMemberKind.Field;
            IsBasicType   = field.FieldType.IsBasicType();

            _propertyInfo = null;
            _fieldInfo    = field;

            _reflectorProvider = field.GetReflector();
            _attributes        = _reflectorProvider.GetCustomAttributes();
            IncludeAnnotations = HasValidationAnnotationDefined(_attributes);
        }