property.setvalue() 有哪些替代方法?我读过它非常慢。我正在使用它将 IDataReader 映射到 POCO 对象。
这是代码的截断版本。这里的一切对我来说都很新鲜。我知道有很多框架可以完成这项任务。但是,我们不能使用它们。
public class DbAutoMapper<T>
{
public IEnumerable<T> MapToList(IDataReader reader)
{
var list = new List<T>();
while (reader.Read())
{
var obj = Activator.CreateInstance<T>();
foreach (PropertyInfo prop in obj.GetType().GetProperties())
{
foreach (var attribute in prop.GetCustomAttributes(true))
{
prop.SetValue(obj, value, null);
}
}
list.Add(obj);
}
return list;
}
}