我开始使用CSV Helper - 一个出色的日常工作小帮手 - 很棒的东西!
我现在正在苦苦挣扎的一个项目是班级地图——我有一个小班级
public class SimpleClass
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Percentage { get; set; }
public bool IsValid { get; set; }
}
对于导出到 CSV,我想用,替换IsValid
值;为此,我创建了一个类映射:true
yes
False
no
public class SimpleClassMap : CsvClassMap<SimpleClass>
{
public override void CreateMap()
{
Map(x => x.ID).Index(0);
Map(x => x.Name).Index(1);
Map(x => x.Percentage).Index(2);
Map(x => x.IsValid).Index(3)
.TypeConverterOption(true, "yes")
.TypeConverterOption(false, "no");
}
}
现在在导出我的数据时,我正在使用该类映射:
CsvConfiguration config = new CsvConfiguration { Delimiter = ";", HasHeaderRecord = false, Quote = '"' };
config.RegisterClassMap<SimpleClassMap>();
using (MemoryStream stm = new MemoryStream())
using (var streamWriter = new StreamWriter(stm))
using (var csvWriter = new CsvWriter(streamWriter, config))
{
csvWriter.WriteRecords(list);
streamWriter.Flush();
}
不幸的是,当我检查所写的内容时,我发现我仍然得到True
或False
- 不是我所希望的yes
那样no
......
我在这里想念什么?我正在使用从 NuGet 和 .NET 4.0 / Visual Studio 2010 安装的 CSV-Helper v2.5。