如何自动赋值?
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类型等其他类型就会出错.请各位帮忙,看看有什么办法可以解决这个问题.
谢谢
{
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类型等其他类型就会出错.请各位帮忙,看看有什么办法可以解决这个问题.
谢谢
...全文
相关推荐
PHP变量赋值、代入给JavaScript中的变量
在PHP中,我们可以通过以下方式创建和赋值变量:```php<?
php代码-变量赋值1
首先,PHP是一种弱类型的语言,这意味着你无需预先声明变量的类型,可以直接赋值。例如,在`main.php`文件中,我们可能会看到这样的代码:```php<?
如何让thinkphp在模型中自动完成session赋值小教程
本教程将介绍如何在ThinkPHP的模型中实现自动完成时从Session获取值并进行赋值的功能。首先,我们来看一个简单的例子。
Java EE 查询 将数据库中对应的表逐行转换成DAO实体类。List方式返回。自动赋值时忽略大小写的名称进行匹配,自动赋值到指定的实体类中。
以下是一个使用反射进行自动赋值的示例:```javapublic List<UserDAO> mapToDAOs(ResultSet rs, Class<?
实现在同一方法中获取当前方法中新赋值的session值解决方法
`来处理逻辑,当在`if`分支中对Session进行了赋值后,进入`elseif`分支时,由于Session数据尚未被自动保存,所以无法读取到新的Session值。


