Например, предположим, что у нас есть тип источника:
public class Source
{
public string Value1 { get; set; }
public string Value2 { get; set; }
public string Value3 { get; set; }
}
И мы хотели бы сопоставить его с:
public class Destination
{
public DateTime Value1 { get; set; }
public DateTime Value2 { get; set; }
public DateTime Value3 { get; set; }
}
Каждое значение конвертируется с использованием другого формата даты .
CreateMap<string, DateTime>().ConvertUsing(new DateTimeConverter1());
CreateMap<string, DateTime>().ConvertUsing(new DateTimeConverter2());
CreateMap<string, DateTime>().ConvertUsing(new DateTimeConverter3());
CreateMap<DateTime, string>().ConvertUsing(dt => dt.ToString(DateStringAttribute.DateFormatString1));
CreateMap<DateTime, string>().ConvertUsing(dt => dt.ToString(DateStringAttribute.DateFormatString2));
CreateMap<DateTime, string>().ConvertUsing(dt => dt.ToString(DateStringAttribute.DateFormatString3));
Как я могу получить правильный используемый формат (в обоих направлениях), когда я могу указать только строку и DateTime? Могу ли я как-то получить доступ к имени свойства, чтобы выбрать подходящий формат преобразования?