AutoMapper和反射

Fil*_*lip 3 reflection automapper

我的共享托管公司不允许反思.我如何使用AutoMapper?

我是否必须为每个属性指定.ForMember?

Mapper.CreateMap<Person, PersonData>()
            .ForMember(dest => dest.Name, o => o.MapFrom(src => src.Name))
            .ForMember(dest => dest.Address, o => o.MapFrom(src => src.Address));
Run Code Online (Sandbox Code Playgroud)

谢谢,

菲利普

Bin*_*ony 5

Automapper使用reflection.emit,您确定可以使用Automapper吗?

[编辑]

不知道任何没有反射使用的东西,即使我在CodePlex上创建的XmlDataMapper也使用了反射.没有反射或反射就很难设计出一个

这样做的最简单和基本的方法是,你可以使用两种或两种技术中的任何一种.

public class ConversionHelper
{
   public static ClassB Convert(ClassA item)
   {
      return new ClassB() { Id = item.Id, Name = item.Name };
   }

   public static List<ClassB> Convert(List<ClassA> list)
   {
      return list.Select(o => new ClassB() { Id = o.Id, Name = o.Name }).ToList();
   }
}


public class ClassA
{
   public int Id { get; set; }
   public string Name { get; set; }
}
public class ClassB
{
   public int Id { get; set; }
   public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

从您提供的样本中,无论如何都要尝试逐个映射属性,这是相同的行,但代码较少.