实体--C# 反射动态给属性赋值

编辑器加载中...如果你想根据参数动态的设置对象属性你应该用反射,可以用typeof(T).GetProperties()获取当前类型对象有什么属性PropertyInfo,调用PropertyInfo的SetValue传入this的对象和值就可以设置了

 Convert.ChangeType方法果然比TypeConverter的ConvertFrom方法好,他支持泛型的反射,ConvertFrom好像支持基本数据类型

protected T RetrieveModel<T>(string commandText, CommandType commandType, params OracleParameter[] parameters)
{
T result = default(T);
using (OracleDataReader dr = OracleHelper.ExecuteReader(OracleHelper.ConnString, commandType, commandText, parameters))
{
if (dr.Read())
{
List<PropertyInfo> propertyInfoList = new List<PropertyInfo>(typeof(T).GetProperties());
result = PopulateEntity<T>(dr,propertyInfoList);
}
}
return result;
}

posted on 2012-11-15 10:54  屁锅  阅读(1598)  评论(0编辑  收藏  举报