CsvHelper ConvertUsing 不更改输出

2023-11-23

我正在尝试使用ConvertUsing的方法CSV助手库(v 2.4.0)。

我已阅读有关的文档转换使用但无法让它发挥作用。

我正在使用一个简单的类:

public class Test
{
    public long Id { get; set; }
    public string Title { get; set; }
}

有了这个ClassMap:

public class TestClassMap : CsvClassMap<Test>
{
    public override void CreateMap()
    {
        Map(m => m.Id).Name("id").ConvertUsing(row => 11111);
        Map(m => m.Title).Name("title").ConvertUsing(row => row.GetField("title") + " 123");
    }
}

我的代码使用这些创建了该类的实例,然后将其写入 CSV:

var test = new Test() { Id = 99, Title = "Test title" };

using (var streamWriter = new StreamWriter("test.csv"))
{
    var csv = new CsvWriter(streamWriter);
    csv.Configuration.RegisterClassMap<TestClassMap>();
    csv.WriteRecord(test);
}

然而输出文件test.csv始终采用以下格式:

id,title
99,Test title

我正在寻找的输出是:

id,title
11111,Test title 123

And the ConvertUsing正在被忽视。我试过只转换Id,并且只有Title,但这也行不通。

有什么想法我哪里出错了吗?


现在ConvertUsing仅在阅读时使用。

如果您想自定义输出,可以使用自定义类型转换器。您还可以通过类型转换器选项获得一些有限的能力。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CsvHelper ConvertUsing 不更改输出 的相关文章