2012-05-03 53 views
1

是否有任何对象映射器除了属性之外还支持与公共成员变量之间的映射?包含成员字段的对象映射器

我想使用映射解决方案,但不幸的是我不控制对象图的一侧的代码。

public class Source 
    { 
     public string A_String { get; set; } 
     public int A_Number { get; set; } 
    } 
    public class ICantControlThisClass 
    { 
     public string A_String; 
     public int A_Number; 
    } 

可以AutoMapper或ValueInjecter或任何其他OO映射做到这一点:

var source = new Source() { A_String = "hi", A_Number = 10 }; 
    var target = new ICantControlThisClass(); 
    Mapper.Map(source, target); 

回答

1

你可以做到这一点。只要创建地图

Mapper.CreateMap<Source, ICantControlThisClass>(); 

而且Automapper将做休息:

var source = new Source() { A_String = "hi", A_Number = 10 }; 
var target = Mapper.Map<ICantControlThisClass>(source);