0

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(','));
    }
}
4

2 に答える 2

6

publicコンストラクターを(またはおそらく)としてマークする必要がありinternalます。

于 2012-12-04T14:50:02.860 に答える
1

コンストラクターを作成します。そうpublicしないと、「見る」ことができません。

于 2012-12-04T14:50:24.330 に答える