最近有遇到兩個類之間的賦值問題,兩個類的屬性幾乎都一樣的,所以寫了個通過反射獲取屬性的然後賦值的方法,把一個類的屬性的值賦值給另一個類。
框架是.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; }