Я пытаюсь прочитать CSV-файл.
моя пятая запись содержит дату: 11.11.2008
Это часть моего кода:
[FieldConverter(ConverterKind.Date, "dd/MM/yyyy")]
public DateTime datum_5;
Мой код падает на этом:
Result[] results= (Result[])engine.ReadFile(@"..\Data\expo.txt");
И с этим исключением:
Строка: 1. Колонка: 41. Поле: datum_5. Ошибка преобразования '03 / 11/2008 'в тип:' DateTime '. Используя формат: «дд / мм / гггг»
Когда я делаю это:
[FieldConverter(typeof(ConvertDate))]
public DateTime datum_5;
с этим:
internal class ConvertDate : ConverterBase
{
/// <summary>
/// different forms for date separator : . or / or space
/// </summary>
/// <param name="from">the string format of date - first the day</param>
/// <returns></returns>
public override object StringToField(string from)
{
DateTime dt;
if (DateTime.TryParseExact(from, "dd.MM.yyyy", null, DateTimeStyles.None, out dt))
return dt;
if (DateTime.TryParseExact(from, "dd/MM/yyyy", null, DateTimeStyles.None, out dt))
return dt;
if (DateTime.TryParseExact(from, "dd MM yyyy", null, DateTimeStyles.None, out dt))
return dt;
throw new ArgumentException("can not make a date from " + from, "from");
}
}
Я получил это исключение: не могу сделать дату от 11.03.2008
Параметернаам: от
Что я делаю не так?