CSharp · Console
using System;
using AutoMapper;
public class Program
{
public static void Main()
{
var a = new A { Foo = 9, MyEnum = MyEnum.Alert};
var b = new B();
Mapper.CreateMap<A, B>().ForMember(dest => dest.Bar, opt => opt.MapFrom(src => src.Foo.HasValue ? src.Foo.Value.ToString() : string.Empty)).ForMember(dest => dest.MyEnumString, opt => opt.MapFrom(src => src.MyEnum.HasValue ? src.MyEnum.Value.ToString() : string.Empty));
Mapper.AssertConfigurationIsValid();
Mapper.Map(a, b);
Console.WriteLine(b.Bar);
Console.WriteLine(b.MyEnumString);
a = new A { Foo = null, MyEnum = null };
Mapper.Map(a, b);
Console.WriteLine(b.Bar);
Console.WriteLine(b.MyEnumString);
}
}
public class A
{
public int? Foo { get; set; }
public MyEnum? MyEnum { get; set; }
}
public class B
{
public string Bar { get; set; }
public string MyEnumString { get; set; }
}
public enum MyEnum
{
Alert = 1,
Other = 2,
Etc = 3
}