C#对象自动转换器

EmitMapper.dll

        /// <summary>
        /// 对象自动转换。
        /// </summary>
        /// <typeparam name="Source">源类型</typeparam>
        /// <typeparam name="Dest">目标类型</typeparam>
        /// <param name="source">源对象</param>
        /// <returns>返回目标对象</returns>
        public static Dest Map<Source, Dest>(Source source)
        {
            var mapper1 = ObjectMapperManager.DefaultInstance.GetMapper<Source, Dest>();
            return mapper1.Map(source);
        }

        /// <summary>
        /// 对象集合自动转换。
        /// </summary>
        /// <typeparam name="Source">源类型</typeparam>
        /// <typeparam name="Dest">目标类型</typeparam>
        /// <param name="source">源对象</param>
        /// <returns>返回目标对象</returns>
        public static IList<Dest> MapList<Source, Dest>(IList<Source> sources)
        {
            if (null == sources)
                return null;
            var destList = new List<Dest>();
            var maper = ObjectMapperManager.DefaultInstance.GetMapper<Source, Dest>();
            foreach (var _source in sources)
                destList.Add(maper.Map(_source));

            return destList;
        }

        /// <summary>
        /// 对象集合自动转换。
        /// </summary>
        /// <typeparam name="Source">源类型</typeparam>
        /// <typeparam name="Dest">目标类型</typeparam>
        /// <param name="source">源对象</param>
        /// <returns>返回目标对象</returns>
        public static ObservableCollection<Dest> MapList<Source, Dest>(ObservableCollection<Source> sources)
        {
            if (null == sources)
                return null;
            var destList = new ObservableCollection<Dest>();
            var maper = ObjectMapperManager.DefaultInstance.GetMapper<Source, Dest>();
            foreach (var _source in sources)
                destList.Add(maper.Map(_source));

            return destList;
        }    

  

posted @ 2021-12-18 17:15  勤奋的二牛  阅读(199)  评论(0)    收藏  举报