2011-04-03 79 views

回答

2

您可以按照文檔中所述使用ConvertUsing。爲此你需要定義一個Converter。或者你可以定義映射:

class Program 
{ 
    static void Main(string[] args) 
    { 
     AutoMapper.Mapper.CreateMap<Source, Dest>() 
      .ForMember(
       dest => dest.Prop1, 
       src => src.MapFrom(m => float.Parse(m.Prop1, System.Globalization.CultureInfo.InvariantCulture) 
      )); 
     Source sourceObject = new Source() { Prop1 = "1.5" }; 
     Dest destination = AutoMapper.Mapper.Map<Source, Dest>(sourceObject); 
     Console.WriteLine("value {0}", destination.Prop1); 
    } 
} 

public class Source 
{ 
    public string Prop1 { get; set; } 
} 

public class Dest 
{ 
    public float Prop1 { get; set; } 
} 
+0

不,我不能。 ConvertUsing採用ITypeConverter類型的值。 – user256034 2011-04-03 10:41:34

+0

我編輯了答案。 – tobsen 2011-04-03 12:45:36

+0

ConvertUsing採用任何Func ,而不僅僅是該接口的實現。 – 2011-04-04 03:00:34

0

也許只是手動映射對象會更好。

關於自定義映射,你可以閱讀here

相關問題