使用FileHelper格式化属性

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

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

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

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

如何使用属性执行此操作?

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

但是,您可以做的是为导入/导出记录创建一个数据模型,该记录不依赖于域对象。 此数据模型可以包含字段而不是属性。

因此,如果你有例如客户,这是一个域持久化数据对象,你可以创建类似CustomerRecord的东西,它将Customer作为构造函数参数并复制所有数据(或使用像Automapper这样的东西来轻松复制值),然后只使用文件记录数据模型来执行filehelper操作,而不是域模型。

这似乎是额外的工作,它也是,但它也将您的域模型与文件操作分离,这是一个良好的可维护性设计模式。