FileHelpers为字段提供了一个不错的日期转换器:
[FieldConverter(ConverterKind.Date, "MM-dd-yyyy")]
public DateTime MyDate;
FieldConverter不支持属性。我必须处理使用属性的对象,所以我正在寻找这样的东西:
[PropertyConverter(ConverterKind.Date, "MM-dd-yyyy")]
public DateTime MyDate { get; set; }
如何使用属性执行此操作?
答案 0 :(得分:4)
您不能将转换器与属性一起使用。
但是,您可以做的是为导入/导出记录创建一个数据模型,该记录不依赖于域对象。此数据模型可以包含字段而不是属性。
因此,如果你有例如客户,这是一个域持久数据对象,你可以创建类似CustomerRecord的东西,它将Customer作为构造函数参数并复制所有数据(或使用类似Automapper的东西为你复制值容易),然后只使用文件记录数据模型来执行filehelper操作,而不是域模型。
这似乎是额外的工作,它也是,但它也将您的域模型与文件操作分离,这是一种良好的可维护性设计模式。