不同模型相同属性赋值

以前遇到不同数据实体,具有相同属性,在进行数据转换时,都是一个一个属性对应赋值,现在看到一个方法,挺不错的,如下:

    public class ModelBinding
    {
        /// <summary>
        /// 模型赋值
        /// </summary>
        /// <param name="target">目标</param>
        /// <param name="source">数据源</param>
        public static void CopyModel(object target, object source)
        {
            Type type1 = target.GetType();
            Type type2 = source.GetType();
            foreach (var mi in type2.GetProperties())
            {
                var des = type1.GetProperty(mi.Name);
                if (des != null)
                {
                    try
                    {
                        des.SetValue(target, mi.GetValue(source, null), null);
                    }
                    catch
                    { }
                }
            }
        }
    }

  文章出处:http://www.cnblogs.com/jio92/p/3242427.html

posted @ 2013-08-08 15:31  @大龙哥  阅读(368)  评论(0编辑  收藏  举报