使用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操作,而不是域模型。
这似乎是额外的工作,它也是,但它也将您的域模型与文件操作分离,这是一个良好的可维护性设计模式。