反射实现不同模型相同属性赋值
在双模型的项目结构中经常遇到模型数据赋值问题,自己写太麻烦,所以偷懒写个方法
1 public class ModelBinding 2 { 3 /// <summary> 4 /// 模型赋值 5 /// </summary> 6 /// <param name="target">目标</param> 7 /// <param name="source">数据源</param> 8 public static void CopyModel(object target, object source) 9 { 10 Type type1 = target.GetType(); 11 Type type2 = source.GetType(); 12 foreach (var mi in type2.GetProperties()) 13 { 14 var des = type1.GetProperty(mi.Name); 15 if (des != null) 16 { 17 try 18 { 19 des.SetValue(target, mi.GetValue(source, null), null); 20 }catch 21 {} 22 } 23 } 24 } 25 }