static void Main(string[] args) { //List<Dictionary<string, object>> data = new List<Dictionary<string, object>>() //{ // new Dictionary<string, object>() // { // {"C", "data"}, // {"A.Data","data1"}, // {"A.Data1",2}, // {"B.Data","data3"}, // {"B.Data1",4}, // {"D.Data","data5"}, // {"D.Data1",6} // }, // new Dictionary<string, object>() // { // {"C", "data"}, // {"A.Data","data1"}, // {"A.Data1",2}, // {"B.Data","data3"}, // {"B.Data1",4}, // {"D.Data","data7"}, // {"D.Data1",8} // }, // new Dictionary<string, object>() // { // {"C", "data"}, // {"A.Data","data1"}, // {"A.Data1",2}, // {"B.Data","data9"}, // {"B.Data1",10}, // {"D.Data","data5"}, // {"D.Data1",6} // }, // new Dictionary<string, object>() // { // {"C", "data"}, // {"A.Data","data1"}, // {"A.Data1",2}, // {"B.Data","data9"}, // {"B.Data1",10}, // {"D.Data","data7"}, // {"D.Data1",8} // } //}; List <Dictionary <string, object> > data = new List <Dictionary <string, object> >() { new Dictionary <string, object>() { { "C", "data" }, { "A.Data", "data1" }, { "A.Data1", 2 }, { "B.Data", "data3" }, { "B.Data1", 4 }, { "D.Data", "data5" }, { "D.Data1", 6 } }, new Dictionary <string, object>() { { "C", "data" }, //{"A.Data","data1"}, { "A.Data1", 2 }, { "B.Data", "data3" }, { "B.Data1", 4 }, { "D.Data", "data7" }, { "D.Data1", 8 } }, new Dictionary <string, object>() { { "C", "data" }, //{"A.Data","data1"}, { "A.Data1", 2 }, { "B.Data", "data9" }, { "B.Data1", 10 }, { "D.Data", "data5" }, { "D.Data1", null } }, new Dictionary <string, object>() { { "C", "data" }, //{"A.Data","data1"}, { "A.Data1", 2 }, { "B.Data", "data9" }, { "B.Data1", 10 }, { "D.Data", "data7" }, { "D.Data1", 8 } } }; //var meh = Automapper.GenerateMapper<TestType1>().CreateDelegate()(data); var blah = FunctionGenerator.GenerateKeyGenerator(typeof(TestType5)).Instructions(); var result = Nested.Automapper.Map <TestType1>(data); }