c# - 使用 FileHelper 格式化属性

标签 c# csv filehelpers

FileHelpers有一个很好的字段日期转换器:

[FieldConverter(ConverterKind.Date, "MM-dd-yyyy")] 
public DateTime MyDate;

不过,FieldConverter 不适用于属性。我必须处理使用属性的对象,所以我正在寻找这样的东西:

[PropertyConverter(ConverterKind.Date, "MM-dd-yyyy")] 
public DateTime MyDate { get; set; }

我该如何处理属性?

最佳答案

您不能将转换器与属性一起使用。

但是,您可以做的只是为导入/导出记录创建一个数据模型,它没有绑定(bind)到域对象。此数据模型可以有字段而不是属性。

因此,例如,如果您有 Customers,这是一个域持久化数据对象,您可以创建类似 CustomerRecord 的东西,它将 Customer 作为构造函数参数并复制所有数据(或使用类似 Automapper 的东西为您复制值很容易),那么只需使用文件记录数据模型来执行 filehelper 操作,而不是域模型。

这看起来像是额外的工作,确实如此,但它也将您的域模型与文件操作分离,这是一种良好的可维护性设计模式。

关于c# - 使用 FileHelper 格式化属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14761076/

相关文章:

c# - Android 插件 UnitySendMessage 从未被调用

C#等待其他服务启动

java - 在浏览器历史记录系统中乘以 for 循环

c# - 如何获取字段的自定义属性值?

c# - CSV + FileHelpers + 双引号 = 噩梦

c# - 具有 Session 与 ViewState 的 UpdatePanel 的奇怪行为

c# - 动态创建字段的 Tabindex

python - 如何编写/创建具有固定宽度列的 CSV?

java - 将数据添加/附加到现有 CSV 文件的特定行/单元格

c# - 如何使用 C#/FileHelpers ExcelNPOIStorage 从 Excel 文件中提取数据