using AutoMapper.Configuration.Conventions;
public class CreateSelectionCommand
public int I { get; set; }
public string SelectionName { get; set; }
public int I { get; set; }
public string Name { get; set; }
public static void Main()
var config = new MapperConfiguration(cfg => {
cfg.AddMemberConfiguration().AddName<TypeNamePrefixedSourceToDestinationNameMapper>();
cfg.CreateMap<Selection, CreateSelectionCommand>()
var mapper = config.CreateMapper();
var cmd = new CreateSelectionCommand {SelectionName = "selectionName", I = 1};
var sel = mapper.Map<Selection>(cmd);
Console.WriteLine($"CreateSelectionCommand.Name: '{cmd.SelectionName}'");
Console.WriteLine($"Selection.Name: '{sel.Name}' '{sel.I}'");
class TypeNamePrefixedSourceToDestinationNameMapper : ISourceToDestinationNameMapper
public MemberInfo GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo,
Type destMemberType, string nameToSearch)
return getTypeInfoMembers.GetMemberInfos(typeInfo)
.FirstOrDefault(mi => mi.Name == destType.Name + nameToSearch);