对象属性很多 反射的机制 拷贝对象

对于属性很多的对象操作起来却相当麻烦,所以可以采用反射的机制,对每一个属性进行赋值,具体代码如下。
public static void CopyValue(object origin,object target)
    {
      System.Reflection.PropertyInfo[] properties = (target.GetType()).GetProperties();
      System.Reflection.FieldInfo[] fields = (origin.GetType()).GetFields();
      for ( int i=0; i< fields.Length; i++)
      {
       for ( int j=0; j< properties.Length; j++)
        {
          if (fields[i].Name == properties[j].Name && properties[j].CanWrite)
          {
            properties[j].SetValue(target,fields[i].GetValue(origin),null);
          }
        }
      }
    }

你可能感兴趣的:(反射)