如何使用FileHelpers将动态对象写入文件?

问题描述 投票:0回答:1

我实际上正在寻求一种方法创建记录类型和顺序可能不同的csv文件。它们是由用户以两种方式定义的,实际上我正在安全地处理它们的类型。

我喜欢使用FileHelpers库来读取/写入C#上的文件,因为它快速,可靠和可信任,所以我想知道如何使用它执行导出操作,并回顾诸如this one的问题需要用所需的值填充类,因此我可以write文件。所有相关问题都集中在阅读注册表上,我需要编写它们。

我是不是认为我可能需要使用Reflection,所以我可以漫游这个新的type及其属性,或者在创建字段时是否有任何方法可以“添加一条记录”来指定值?

此FileHelpers方法是一种选择,当然第二种方法是手动进行的,但是我很好奇是否存在easier方法。

var builder = new DelimitedClassBuilder("DynamicDocument", ";");
builder.AddField("Date", typeof(DateTime));
var dynamicType = builder.CreateRecordClass();
//...
c# .net csv dynamic filehelpers
1个回答
0
投票

使用类构建器是使用FileHelpers的最佳方法。您确实需要保留创建的类型的副本,以便您的通用类可以使用它。

请记住,在调用CreateRecordClass()之前,您必须先完成所有工作,然后才能生成类型。

这里是到另一个S / O问题的链接,其中包含一堆显示如何执行此操作的代码:FileHelpers.Dynamic.ClassBuilder.CreateRecordClass Error

现在,如果您仅使用正确格式的文件,只要始终正确分隔它们,并且您可以根据列名处理任何类型转换,就可以让FileHelpers为您完成所有工作。

© www.soinside.com 2019 - 2024. All rights reserved.