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

 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         }

原文地址:https://www.cnblogs.com/joryblog/p/8648821.html

时间: 2024-11-06 18:20:48

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

通过原型继承创建一个新对象

// 通过原型继承创建一个新对象 function inherit(p){ if (p == null) throw TypeError();//p是一个对象,但不能是null if(Object.create) //如果object.create()存在 return Object.create(p); //直接使用它 var t = typeof p;//否则进行进一步检测 if (t !== "object" && t !== 'function') throw

JS——数组中push对象,覆盖问题,每次都创建一个新的对象

今天写运动框架时,发现将对象push进数组,后面的值会覆盖前面的值,最后输出的都是最后一次的值.其实这一切都是引用数据类型惹的祸.       如果你也有类似问题,可以继续看下去哦.       下面代码模拟: 将json对象的每个键值对,单独搞成对象,再赋值给数组,最后输出数组.结果数组应该是有三个对象.(for-in用于对象遍历) 原文地址:https://www.cnblogs.com/ajaxlu/p/9212539.html

new一个新对象。。。对象???

new个对象1.新生成了一个新的对象. 2.连接到原型. 3.绑定this. 4.返回新对象. 原文地址:https://www.cnblogs.com/zx-qd/p/10550634.html

new一个新对象的时候,各属性方法的操行顺序

1.类成员变量(又叫静态成员变量,即是用static修饰的变量(属性)). 2.静态代码块(多次new同一个类对象只会执行一行). 3.成员变量 4.代码块 5.构造方法

javascript 通过原型继承创建一个新对象

function inherit(p) { if(p == null) throw TypeError();                                               //p 是一个对象, 但不能是null if(Object.create)                   //如果Object.create()存在 return Object.create(p); //直接使用它  var t = typeof p; //否则进一步检测 if(t !==

String什么时候创建一个新对象?

1 String a="a"; 2 String b="b"; 3 String c="a"+"b"; 4 String d=a+b; 5 String e="ab"; 6 String f=new String("ab"); 7 System.out.println(c==d); //false 8 System.out.println(c==e); //true 9 System.o

重写函数对象prototype属性值的不同的情况下实例对象的内部属性Prototype值有所不同

http://www.cnblogs.com/cmptlgg/ 我的博客园 重写函数对象的prototype属性值:会切断实例的[[Prototype]]内部属性和最初函数对象的prototype(原型对象)的联系 这个例子引用js高级第三版: /* 这是高三对此实现的解释. 尽管可以随时为原型添加属性和方法,并且修改能够立即在所有对象实例中反映出来,但如果是重 写整个原型对象,那么情况就不一样了.我们知道,调用构造函数时会为实例添加一个指向最初原型的 [[Prototype]]指针,而把原型修

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。

Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象. 语法EDIT Object.defineProperty(obj, prop, descriptor) 参数 obj 需要定义属性的对象. prop 需定义或修改的属性的名字. descriptor 将被定义或修改的属性的描述符. 返回值 返回传入函数的对象,即第一个参数obj 描述EDIT 该方法允许精确添加或修改对象的属性.一般情况下,我们为对象添加属性是通过

objective-C 对象初始化/属性

第十章 对象的初始化 两种创建对象的方法: 1. [类名 new]  2. [ [类名 alloc ] init ];  其中第二种方法是应该熟练使用的方法. 初始化对象: 对于继承了NSObject的类来说,调用超累的init方法可以让NSObject执行它所需的所有操作,以便于对象能够响应消息并处理保留计数器.而对于从其他类继承的类,通过这种方法可以实现自身的全新初始化. 与分配对应的操作时初始化,初始化从操作系统取得一块内存用于存储对象,init方法(执行初始化操作的方法)一般都会返回正在