2012-05-10 9 views
0

私がしようとしているのはIEnumerable<KeyValuePair<String, String>>で、クラスにマップします。AutoMapper Map KeyValuePair <String、String> to Class?

だから私はそれらをKeyValuePair<String, String>にしてプロパティ名と値としてクラスにマップしたいと思います。

これはできますか?または他の提案?

答えて

6

はい、それはあなたがIEnumerableを

0

に対処したい場合は、マッピングを作成し、この

static void Main(string[] args) 
    { 
     Mapper.CreateMap<KeyValuePair<string, string>, MyClass>() 
      .ConstructUsing(x => new MyClass { Name = x.Key, Value = x.Value }); 

     var kv = new KeyValuePair<string, string>("Key", "Val"); 
     var mapped = Mapper.Map<KeyValuePair<String, String>, MyClass>(kv); 

     Console.WriteLine(mapped.ToString()); 

     Console.ReadLine(); 
    } 

    public class MyClass 
    { 
     public string Name { get; set; } 
     public string Value { get; set; } 

     public override string ToString() 
     { 
      return String.Format("Name : {0}, Value : {1}", Name, Value); 
     } 
    } 

使用リストのような、たとえば、行うことができます私は違ったアンドリーよりサムの質問を理解していました。私は反射とResolveUsingメソッドを使用して行うことが可能だと思います。

+2

これはコメントです。 –

関連する問題