/// <inheritdoc/>
        public void Initialize(
            Func <TParent, IEnumerable <TChild> > sourceFunc,
            Maybe <Expression <Func <TParent, ICollection <TChild> > > > maybeTargetExpression,
            ICreateCopyHelper <TChild, TConcreteChild, TParent> createCopyHelper)
        {
            sourceFunc.NotNull(nameof(sourceFunc));
            createCopyHelper.NotNull(nameof(createCopyHelper));

            this.sourceFunc            = sourceFunc;
            this.maybeTargetExpression = maybeTargetExpression;
            this.createCopyHelper      = createCopyHelper;
        }
Exemplo n.º 2
0
        /// <inheritdoc/>
        public void Initialize(
            Func <T, TChild> sourceFunc,
            Expression <Func <T, TChild> > targetFuncExpr,
            ICreateCopyHelper <TChild, TConcreteChild, T> createCopyHelper)
        {
            createCopyHelper.NotNull(nameof(createCopyHelper));
            sourceFunc.NotNull(nameof(sourceFunc));
            targetFuncExpr.NotNull(nameof(targetFuncExpr));

            this.targetExpression = targetFuncExpr;
            this.sourceFunc       = sourceFunc;
            this.createCopyHelper = createCopyHelper;
        }