如何动态处理列表使用反射并将返回的数据转换为列表

How to handle list dynamically Using reflection and cast returned data to list

当我在实例值和 return 中添加一个列表时,该列表始终提供 重复的 值。我想从数据库 table 值中读取数据。但是它的第一次迭代添加了一个单行值,第二次它提供了第二行值并替换了第一个列表值。

var instance = (T)Activator.CreateInstance(type);

        while (reader.Read())
        {
           type.GetProperties().ToList().ForEach(property =>
            {
                property.SetValue(instance,reader[property.Name]);
            });
            list.Add(instance);  
        }
        return list;

如果reader中的每一行代表一个不同的实例:为每一行创建一个新实例;即

while (reader.Read())
{
    var instance = (T)Activator.CreateInstance(type);
    // ...
    list.Add(instance);
}
return list;