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); 
 } 
 } 
 } 
 } 
 }