将一个对象相同的属性(不区分大小写)赋值给一个新对象

Posted Jory Huang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将一个对象相同的属性(不区分大小写)赋值给一个新对象相关的知识,希望对你有一定的参考价值。

 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         }

 

以上是关于将一个对象相同的属性(不区分大小写)赋值给一个新对象的主要内容,如果未能解决你的问题,请参考以下文章

JS 两个含有部分相同属性的对象如何快速给对应的key赋值

解决vue A对象赋值给B对象,修改B属性会影响到A的问题

不区分大小写地访问 JavaScript 属性?

Jackson中的JSON属性文件不区分大小写[重复]

JS之向对象数组添加属性并赋值

Java:请教关于String对象的重新赋值