您的位置:首页 > 其它

利用反射实现实体类自动赋值

2016-03-25 16:04 465 查看
从XML实现对实体赋值

#region 遍历子节点
foreach (XmlNode treeNode in subNode.ChildNodes)
{
if (treeNode.Name == "orders")//取子订单
{
Taobao_Orders order = new Taobao_Orders();
foreach (XmlNode fourNode in treeNode.ChildNodes)
{
Type t = order.GetType();//取实体类的类型集合
foreach (var pi in t.GetProperties())//制作反射机制对实体进行赋值
{
if (pi.Name == orderitem.Name)//判断实体类名是否与XML的名相同
{
if (!pi.PropertyType.IsGenericType)//对实体类属性赋值
{
pi.SetValue(order, Convert.ChangeType(orderitem.InnerText, pi.PropertyType), null);

}
else
{
pi.SetValue(order, Convert.ChangeType(orderitem.InnerText, Nullable.GetUnderlyingType(pi.PropertyType)), null);
}
}
}
}
trade.Taobao_Orders.Add(order);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: