2

私がやろうとしているのは、を取り、IEnumerable<KeyValuePair<String, String>>それらをクラスにマップすることです。

KeyValuePair<String, String>したがって、それらを取得して、プロパティ名と値としてクラスにマップしたいと思います。

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

4

1 に答える 1

7

はい、例えばこのようにできます

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);
        }
    }

IEnumerable を処理する場合は、マッピングの作成でリストを使用します。

于 2012-05-11T16:29:14.803 に答える