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); }
///转换结果 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); }