a = b, 修改a的属性会影响到b因为他们指向同一个对象,可以浅拷贝b的值到a
origin为b,target为a
private void CopyValue(object origin, object target)
{
PropertyInfo[] properties = target.GetType().GetProperties();
PropertyInfo[] fields = origin.GetType().GetProperties();
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);
}
}
}
}