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); }
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))); }