两个类中的属性名多数相同,将一个类的实例中的属性值遍历赋值给另一个
这里用了很多反射的知识
将Shop shopInfo中的同名属性 赋值给 TB_SHOP_ITEM tbShopItem 的属性
private void GetPropertyValue(Shop shopInfo, TB_SHOP_ITEM tbShopItem)
{
Type typeItem = shopInfo.GetType();
Type typeTbItem = tbShopItem.GetType();
foreach (PropertyInfo p in typeItem.GetProperties()) //遍历Item实例中的各个属性
{
if (typeTbItem.GetProperty(p.Name) != null) //若果TB_ITM_ITEM类含有当前属性
{
PropertyInfo tbItemProperty = typeTbItem.GetProperty(p.Name);
PropertyInfo itemProperty = typeItem.GetProperty(p.Name);
object obj = itemProperty.GetValue(shopInfo);//得到typeItem 指定属性名的值
tbItemProperty.SetValue(tbShopItem, obj);//设置typeTbItem 指定属性名的值
}
}
}
浙公网安备 33010602011771号