Pomona.Common.TypeSystem.PropertySpec.PropertySpec C# (CSharp) Method

PropertySpec() protected method

protected PropertySpec ( ITypeResolver typeResolver, PropertyInfo propertyInfo, TypeSpec reflectedType ) : System
typeResolver ITypeResolver
propertyInfo System.Reflection.PropertyInfo
reflectedType TypeSpec
return System
        protected PropertySpec(ITypeResolver typeResolver,
                               PropertyInfo propertyInfo,
                               TypeSpec reflectedType)
            : base(typeResolver, propertyInfo)
        {
            if (reflectedType == null)
                throw new ArgumentNullException(nameof(reflectedType));
            ReflectedType = reflectedType;
            this.declaringType = CreateLazy(() => typeResolver.LoadDeclaringType(this));
            this.propertyType = CreateLazy(() => typeResolver.LoadPropertyType(this));
            Flags = typeResolver.LoadPropertyFlags(this);
            this.baseDefinition = CreateLazy(() => typeResolver.LoadBaseDefinition(this));
            this.getter = CreateLazy(() => typeResolver.LoadGetter(this));
            this.setter = CreateLazy(() => typeResolver.LoadSetter(this));
            this.isRequiredForConstructor = CreateLazy(() => ReflectedType.RequiredProperties.Contains(this));
        }