Использование библиотеки FileHelpers версии 3.0.1.
Скажем, вы определяете поле для импорта из CSV-файла следующим образом:
[FieldTrim(TrimMode.Both)]
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
[FieldConverter(ConverterKind.Date, "d-MMMM-yyyy")]
public DateTime DOB;
Теперь ожидается, что поле csv будет иметь формат даты «d-MMMM-yyyy» и будет установлено во время компиляции. У меня есть требование во время выполнения (иногда) изменить этот формат на «d-MMMM-yy».
Используемый формат зависит от исходного файла — в некоторых файлах год указывается из 2 цифр, в других — из 4 цифр. Я буду знать при запуске программы, какой формат использовать.
Возможно ли это с помощью FileHelpers? Я полагаю, я мог бы добавить строковый столбец, например:
[FieldTrim(TrimMode.Both)]
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
public string DOBAsString;
, и заставить FileHelpers считывать данные в это поле и самостоятельно преобразовывать их в поле DOB в цикле. Есть ли более чистый способ?