Example #1
0
        public ListReferenceResolver(PropertyInfo property, SourceDescriptions descriptions, Func <int, TEntity> resolver)
            : base(descriptions, resolver)
        {
            _propertyName = property.Name;

            var owner = Typeof <TOwner> .Raw;

            _entityGetter = (Func <TOwner, IList <TEntity?> >)ExpressionUtils.BuildGetter(owner, property);
            _entitySetter = (Action <TOwner, List <TEntity?> >)ExpressionUtils.BuildSetter(owner, property);
        }
Example #2
0
        private CommonMethods BuildCommonMethods(PropertyInfo property)
        {
            var initializer = ReflectionUtils.HasEmptyConstructor(property.PropertyType)
                ? ExpressionUtils.BuildInitializer(_type, property)
                : null;

            return(new CommonMethods(
                       initializer,
                       ExpressionUtils.BuildGetter(_type, property),
                       ExpressionUtils.BuildSetter(_type, property)));
        }