C# 在C中使用Automapper将源属性值转换为自定义目标值#

C# 在C中使用Automapper将源属性值转换为自定义目标值#,c#,asp.net,automapper,asp.net-core-2.0,C#,Asp.net,Automapper,Asp.net Core 2.0,我有一个 Source.foo = 1; 和类型 Destination.foo 是字符串,我想根据我在Source.foo中得到的数字选择要分配给Destination.foo的值 有什么方法可以让我改变吗 Source.foo = 1 to Destination.foo = "A" Source.foo = 2 to Destination.foo = "B" 等等?是的,您可以执行以下操作: Mapper.CreateMap<Source, Destination>(

我有一个

Source.foo = 1;
和类型

Destination.foo
字符串,我想根据我在Source.foo中得到的数字选择要分配给Destination.foo的值

有什么方法可以让我改变吗

Source.foo = 1 to Destination.foo = "A" 
Source.foo = 2 to Destination.foo = "B"

等等?

是的,您可以执行以下操作:

Mapper.CreateMap<Source, Destination>()
.ForMember(x => x.foo, cfg => cfg.MapFrom(x => GetFooValue(x)));

我不知道automapper是否支持这个案子。我想您需要修改/创建一个接受整数的setter/属性。在那里,您可以实现转换
private string GetFooValue(int foo){
    if(foo == 1)
        return "A";
    ...
    ...
}