2012-05-03 66 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);