C# 两个具有雷同属性的类赋值
C# 两个具有相同属性的类赋值
最近有遇到两个类之间的赋值问题,两个类的属性几乎都一样的,所以写了个通过反射获取属性的然后赋值的方法,把一个类的属性的值赋值给另一个类。
框架是.net 4.5
public static D Mapper<D, S>(S s) { D d = Activator.CreateInstance<D>(); try { var sType = s.GetType(); var dType = typeof(D); foreach (PropertyInfo sP in sType.GetProperties()) { foreach (PropertyInfo dP in dType.GetProperties()) { if (dP.Name == sP.Name) { dP.SetValue(d, sP.GetValue(s));
break; } } } } catch (Exception ex) { } return d; }
- 1楼人曾在师大
- 是不是要有个 break 啊。。。。
- Re: Gester.Lin
- @人曾在师大,尴尬,是滴,应该加个break的,这就改过来,谢谢指点