public TTarget Project <TSource, TTarget>(TSource item, Func <TTarget, object, TTarget> customMapping) where TSource : class where TTarget : class, new() { ValuesPostProcessor <TTarget> vpp = new ValuesPostProcessor <TTarget>(customMapping); return(ObjectMapperManager.DefaultInstance.GetMapper <TSource, TTarget>(DefaultMapConfig.Instance.PostProcess <TTarget>(vpp).SetConfigName(customMapping.Method.ToString())).Map(item)); }
public MapBuilder <TSource> PostProcess <T>(ValuesPostProcessor <T> postProcessor) { //var vpp = new ValuesPostProcessor<T>((t1, t2) => //{ // return postProcessor(t1); //}); _config = _config.PostProcess(postProcessor); return(this); }
/// <summary> /// Define postprocessor for specified type /// </summary> /// <typeparam name="T">Objects of this type and all it's descendants will be postprocessed</typeparam> /// <param name="postProcessor"></param> /// <returns></returns> public TDerived PostProcess <T>(ValuesPostProcessor <T> postProcessor) { return((TDerived)base.PostProcess <T>(postProcessor)); }
/// <summary> /// Define postprocessor for specified type /// </summary> /// <typeparam name="T">Objects of this type and all it's descendants will be postprocessed</typeparam> /// <param name="postProcessor"></param> /// <returns></returns> public IMappingConfigurator PostProcess <T>(ValuesPostProcessor <T> postProcessor) { _postProcessors.Add(new[] { typeof(T) }, postProcessor); return(this); }