Вот мой пользовательский конвертер типов.Конвертер типа Automapper из строки в IEnumerable <String> не называется
public class StringListTypeConverter : TypeConverter<String, IEnumerable<String>>
{
protected override IEnumerable<string> ConvertCore(String source)
{
if (source == null)
yield break;
foreach (var item in source.Split(','))
yield return item.Trim();
}
}
public class Source
{
public String Some {get;set;}
}
public class Dest
{
public IEnumerable<String> Some {get;set;}
}
// ... configuration
Mapper.CreateMap<String, IEnumerable<String>>().ConvertUsing<StringListTypeConverter>();
Mapper.CreateMap<Source, Dest>();
Проблема:StringListTypeConverter
не вызывается вообще.Dest.Some == null
.
Обновление: Automapper версия 1.0.0.155
Это, кажется, работает нормально с кодом вы предоставили. Если я делаю Mapper.Map (новый Source {Some = "Foo, Bar, Baz"}); то значение назначения имеет свойство Some с последовательностью Foo, Bar, Baz. Это версия v1.1.0.181. –
Спасибо за эту информацию. Я только что узнал, что мой код использует версию 1.0.0.155. Позвольте мне попробовать последнюю версию. –
@Jimmy, BTW, где его взять? Невозможно найти его ни в кодексе, ни в google. –