首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

PropertyInfo.SetValue步骤为对象的一个Enum类型的属性赋值

2013-07-01 
PropertyInfo.SetValue方法为对象的一个Enum类型的属性赋值PropertyInfo.SetValue方法为对象的一个Enum类

PropertyInfo.SetValue方法为对象的一个Enum类型的属性赋值
PropertyInfo.SetValue方法为对象的一个Enum类型的属性赋值时就会出现类型转换失败的错误。求教高手这个问题如何解决!!


十分感谢!
[解决办法]
private void GetReaderToObject(IDataReader reader, object targetObj)  
  {  
  for (int i = 0; i < reader.FieldCount; i++)  
  {  
  string columnName = reader.GetName(i); //获取字段名称
  object columnValue = reader.GetValue(i); //字段值
  PropertyInfo property = targetObj.GetType().GetProperty(columnName); //获取实体对象属性
  if (property != null)  
  {  
  if (columnValue != DBNull.Value)  
  {  
  if (property.PropertyType.IsEnum) //属性类型是否表示枚举
  {  
  object enumName = Enum.ToObject(property.PropertyType, columnValue);  
  property.SetValue(targetObj, enumName, null); //获取枚举值,设置属性值
  }  
  else  
  {  
  property.SetValue(targetObj, columnValue, null);  
  }  
  }  
  }  

  }  
  } 

热点排行