父类转换子类
private void CompareObject(object parentObj, object childObj)
{
Type t1 = parentObj.GetType();//得到父类的类型
Type t2 = childObj.GetType(); //得到子类的类型
foreach (PropertyInfo p1 in t1.GetProperties())
{
foreach (PropertyInfo p2 in t2.GetProperties())
{
if (p1.PropertyType == p2.PropertyType && p1.Name == p2.Name)
{
p2.SetValue(childObj, p1.GetValue(parentObj, null), null);//给子类对象赋值
break;
}
}
}
}
{
Type t1 = parentObj.GetType();//得到父类的类型
Type t2 = childObj.GetType(); //得到子类的类型
foreach (PropertyInfo p1 in t1.GetProperties())
{
foreach (PropertyInfo p2 in t2.GetProperties())
{
if (p1.PropertyType == p2.PropertyType && p1.Name == p2.Name)
{
p2.SetValue(childObj, p1.GetValue(parentObj, null), null);//给子类对象赋值
break;
}
}
}
}
子类得到父类和子类都共有属性的值,后续的操作可以给子类的其他属性赋值
每天进步一点点...