码迷,mamicode.com
首页 > Windows程序 > 详细

C#反射_两合并更新实体

时间:2019-05-27 13:09:17      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:param   ati   ret   var   break   val   nbsp   returns   foreach   

        #region 更新实体模型
        /// <summary>
        /// 更新实体模型
        /// </summary>
        /// <typeparam name="T">源实体类型</typeparam>
        /// <typeparam name="S">最终合并后返回的实体类型</typeparam>
        /// <param name="tModel">源数据实体</param>
        /// <param name="outModel">最终合并后返回的实体</param>
        /// <returns>最终实体</returns>
        public static S EntityMerge<T, S>(T tModel, S outModel)
        {
            Type type = tModel.GetType();
            Type outType = outModel.GetType();
            var properties = type.GetProperties();
            var outProperties = outType.GetProperties();
            foreach (var property in properties)
            {
                foreach (var item in outProperties)
                {
                    if (property.Name == item.Name)
                    {
                        var value = property.GetValue(tModel);
                        item.SetValue(outModel, value, null);
                        break;
                    }
                }
            }
            return outModel;
        } 
        #endregion

 

C#反射_两合并更新实体

标签:param   ati   ret   var   break   val   nbsp   returns   foreach   

原文地址:https://www.cnblogs.com/heheblog/p/10929925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!