Automapper - установка пользовательского конвертера типов для члена - PullRequest
1 голос
/ 03 апреля 2011

Позволяет иметь два класса

public class Source
{
     public string Prop1 {get;set;}
}

public class Dest
{
     public float Prop1 {get;set;}
}

Как установить пользовательский преобразователь типов для свойства Prop1?

Mapper.CreateMap<Source, Dest>()

Ответы [ 2 ]

2 голосов
/ 03 апреля 2011

Вы можете использовать ConvertUsing , как описано в документации.Для этого вам нужно определить конвертер.Или вы можете определить отображение:

class Program
{
    static void Main(string[] args)
    {
        AutoMapper.Mapper.CreateMap<Source, Dest>()
            .ForMember(
                dest => dest.Prop1,
                src => src.MapFrom(m => float.Parse(m.Prop1, System.Globalization.CultureInfo.InvariantCulture)
            ));
        Source sourceObject = new Source() { Prop1 = "1.5" };
        Dest destination = AutoMapper.Mapper.Map<Source, Dest>(sourceObject);
        Console.WriteLine("value {0}", destination.Prop1);
    }
}

public class Source
{
    public string Prop1 { get; set; }
}

public class Dest
{
    public float Prop1 { get; set; }
}
0 голосов
/ 03 апреля 2011

Может быть, лучше будет сопоставить объект вручную.

о пользовательских картах вы можете прочитать здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...