gpt4 book ai didi

c# - CBO.FillCollection 抛出 "No parameterless constructor defined for this object."错误

转载 作者:行者123 更新时间:2023-11-30 14:43:56 25 4
gpt4 key购买 nike

我正在尝试从另一个方法返回的 IDataReader 中填充一个集合...出于某种原因,它一直抛出“没有为此对象定义的无参数构造函数”。此行的错误:

List<string> names = CBO.FillCollection<string>(DataProvider.Instance().ExecuteReader("getNames", new SqlParameter("UserId", 1)));

我已经尝试分离出参数,以便在我得到这个之前分别初始化:

List<string> names = CBO.FillCollection<string>(nameDataReader);

我仍然在同一行上遇到错误。

有什么想法吗?

最佳答案

线索就在消息中。System.String 没有无参数构造函数, 所以它不能使用 Activator.CreateInstance 创建,这通常用于动态创建对象。

编辑:一种解决方案是直接使用阅读器:

var strings = new List<string>();
using(var reader = DataProvider.Instance().ExecuteReader("getNames", new SqlParameter("UserId", 1)))
{
while(reader.Read())
strings.Add(reader[0] as string);
}

关于c# - CBO.FillCollection 抛出 "No parameterless constructor defined for this object."错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1272931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com