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)
谢谢,
菲利普
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)
从您提供的样本中,无论如何都要尝试逐个映射属性,这是相同的行,但代码较少.