1. 程式人生 > >將一個對象相同的屬性(不區分大小寫)賦值給一個新對象

將一個對象相同的屬性(不區分大小寫)賦值給一個新對象

spa name OS null tty return 賦值 AR val

 1 public static T Mapper<S, T>(S source)
 2         {
 3             T t = Activator.CreateInstance<T>();
 4             try
 5             {
 6                 var s_type = source.GetType();
 7                 var t_type = typeof(T);
 8                 foreach (PropertyInfo sp in s_type.GetProperties())
9 { 10 foreach (PropertyInfo dp in t_type.GetProperties()) 11 { 12 if (dp.Name.ToUpper() == sp.Name.ToUpper()) 13 { 14 dp.SetValue(t, sp.GetValue(source, null), null);
15 } 16 } 17 } 18 } 19 catch (Exception ex) 20 { 21 throw ex; 22 } 23 return t; 24 }

將一個對象相同的屬性(不區分大小寫)賦值給一個新對象