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 回答