如何自动赋值?

xuandme000 xuandme000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
public void Hash2Object(Hashtable hash, object entityObject)
{
Type ty = entityObject.GetType();
BindingFlags.SetProperty, null, entityObject, values);

System.Reflection.PropertyInfo[] pis = ty.GetProperties();
string propertyName;

foreach (System.Reflection.PropertyInfo pi in pis)
{
propertyName = pi.Name;
object[] values = GetValueFromHashtable(hash, propertyName,pi.PropertyType);
if (values != null && values.Length > 0)
{
ty.InvokeMember(propertyName, BindingFlags.SetProperty, null, entityObject, values);

}
}
}
private static object[] GetValueFromHashtable(Hashtable hash, string key,Type type)
{
object value= hash[key] ;
return new object[] {value};

}
上面的代码是我根据网上的资料改的,意思是这样的:
首先Hashtable 的值是遍历页面控件获取的,为string类型,key为控件的ID,现在就是要遍历实体的属性,如果发现在hashtable中有指,则对该属性进行赋值.现在的问题就是,如果实体类的属性为string类型就不会有问题,可是如果是int类型或guid类型等其他类型就会出错.请各位帮忙,看看有什么办法可以解决这个问题.
谢谢
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
xuandme000
.NET社区 62,271 成员 668,968 内容