【发布时间】:2014-11-04 15:44:39
【问题描述】:
我正在使用CsvHelper 生成基于List 的csv 文件,但我想避免写入其中一个值。根据documentation,我使用CsvClassMap 来指定我想忽略的字段。但是,该值仍在写入文件中。
这是我的课:
public class Person
{
public int Id { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
}
这是我的CsvClassMap:
public sealed class PersonClassMap : CsvClassMap<Person>
{
public PersonClassMap()
{
Map(m => m.Id).Index(0).Name("Id");
Map(m => m.FirstName).Index(1).Name("First Name");
Map(m => m.LastName).Index(2).Name("Last Name");
Map(m => m.MiddleName).Ignore();
}
}
这是我用来生成输出的代码:
var persons = new List<Person>
{
new Person {Id = 1, FirstName = "Randall", MiddleName = "Michael", LastName = "Perry"},
new Person {Id = 2, FirstName = "Marigold", MiddleName = "Joanne", LastName = "Mercibar"},
new Person {Id = 3, FirstName = "Sven", MiddleName = "Ergenfein", LastName = "Olafsson"}
};
using (var csvWriter = new CsvWriter(textWriter))
{
csvWriter.WriteRecords(persons);
textWriter.Flush();
}
我的输出如下:
Id,名字,中间名,姓氏 1、兰德尔、迈克尔、佩里 2、万寿菊、乔安妮、默西巴尔 3、斯文、厄尔根芬、奥拉夫森我怎样才能让它停止写MiddleName?
【问题讨论】: