私はCSV Helperを使い始めています - あなたの毎日の仕事のための優れた小さなヘルパーです - 素晴らしいものです!
私が今苦労している項目の 1 つは、クラス マップです。小さなクラスがあります。
public class SimpleClass
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Percentage { get; set; }
public bool IsValid { get; set; }
}
IsValid
CSV にエクスポートするために、値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
or False
- 期待どおりのyes
orではないことがわかりますno
.....
ここで何が欠けていますか?NuGet からインストールされた CSV-Helper v2.5 と .NET 4.0 / Visual Studio 2010 を使用しています。