我正在尝试构建一个类,该类将保存CSV文件中的一行数据及其标题信息。然后在课外我制作一个List<>这个类的元素。但是我得到的这个错误完全没用,“DynamicCSV不包含一个带有1个参数的构造函数。”事实上它实际上包含一个带有1个参数的构造函数。
class DynamicCSV : DynamicObject
{
public List<string> columnHeaders;
public List<string> rowData;
/* Constructor with 1 argument */
DynamicCSV(List<string> headers)
{
columnHeaders = new List<string>();
dynamic rowData = new List<string>();
columnHeaders = headers;
}
}
/* code that calls the constructor */
while (!streamReader.EndOfStream)
{
List<string> headers = new List<string>();
List<string> dataRow = new List<string>();
List<DynamicCSV> dataRows = new List<DynamicCSV>();
if (true == isHeaderRow)
{
currentRow = streamReader.ReadLine();
headers.AddRange(currentRow.Split(','));
dataRows.Add(new DynamicCSV(headers)); // here is the error
isHeaderRow = false;
}
else
{
currentRow = streamReader.ReadLine();
dataRow.AddRange(currentRow.Split(','));
}
}
答案 0 :(得分:6)
您需要将构造函数标记为public
(或可能internal
)。
答案 1 :(得分:1)
制作你的构造函数public
,否则就无法“看到”。