Beispiel #1
0
        private void Add(Func <TIn, TOut, TProterty> convert)
        {
            var assignFunc = MapperExpressionCommon.AssignFunc <TOut, TProterty>(this.propterty);
            Func <TIn, TOut, TOut> func = (a, b) =>
            {
                var value = convert(a, b);
                assignFunc(b, value);
                return(b);
            };

            this.mapper.propteryConverts.Add(propterty, func);
        }
Beispiel #2
0
        ///转换结果
        public TOut AutoMapper(TIn tIn)
        {
            if (Convert == null)
            {
                //多线程问题暂不考虑
                Convert = MapperExpressionCommon.GetConvertFunc <TIn, TOut> (memberAssignments, propteryConverts.Keys.ToHashSet());
            }
            var tout = Convert(tIn);

            foreach (var item in this.propteryConverts)
            {
                tout = item.Value(tIn, tout);
            }
            return(tout);
        }