アップロードされる CSV の形式をモデル化するクラスがあります (FileHelpers ライブラリを使用しています)。
[DelimitedRecord(",")]
public class CSVModel
{
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
public string Field1;
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
public string Field2;
}
次に、ファイルを行ごとに解析した後、アップロードの結果を表示するクラスがあります。
public class UploadResult
{
public List<CSVModel> InvalidField;
public List<CSVModel> Valid;
}
FileHelpers の実装方法については詳しく説明しません。すべて機能するためです。ファイルを正常にアップロードできます。CSV モデルのインスタンスを次のようにリストに追加しようとすると壊れるだけです。
public static UploadResult ProcessCSV(CSVModel[] records)
{
UploadResult uploadResult = new UploadResult();
for (int i = 1; i < records.Length; i++)
{
CSVModel csvModel = records[i];
// check stuff
uploadResult.Valid.Add(csvModel); // this is where it breaks
}
return uploadResult;
}
例外は、null 参照にすぎません。何が間違っている可能性がありますか?
編集:デバッグすると、「csvModel」をリストに追加しようとすると、間違いなくnullではありません