各レコードが単に .csv ファイルになるように csv ファイルをマップしようとしていましたDictionary<string,object>
。
を受け取っています
ArgumentException "メンバー アクセスではありません。"
これをしようとすると。以下に含まれるコード:
public class CsvFileReader : FileReader
{
public CsvFileReader(string path) : base(path){ }
public IDictionary<string, object> Read()
{
var reader = new CsvReader(new StreamReader(Path));
reader.Read();
reader.Configuration.RegisterClassMap(new DictionaryClassMap(reader.FieldHeaders));
return reader.GetRecord<Dictionary<string, object>>();
}
private class DictionaryClassMap : CsvClassMap<Dictionary<string, object>>
{
private readonly IEnumerable<string> _headers;
public DictionaryClassMap(IEnumerable<string> headers)
{
_headers = headers;
}
public override void CreateMap()
{
foreach (var header in _headers)
{
var localHeader = header;
Map(x => x[localHeader]);
}
}
}
}