2016-04-22 121 views
0
dynamic contacts = new List<dynamic>(); 
contacts.Add(new ExpandoObject()); 
contacts[0].Name = "Patrick Hines" ; 
contacts[0].Phone = "206-555-0144" ; 

想做如下。将动态值赋给动态对象

dynamic contacts = new List<dynamic>(); 
contacts.Add(new ExpandoObject()); 
contacts[0]. + "Name" = "Patrick Hines" ; 
contacts[0]. + "Phone" = "206-555-0144" ; 

回答

0

这个怎么样

var contacts = new List<Dictionary<string, string>>(); 
contacts.Add(new Dictionary<string, string>()); 

contacts[0]["Name"] = "Patrick Hines"; 
contacts[0]["Phone"] = "206-555-0144"; 
+0

谢谢你这么多。 – user3197034

0

您可以按名称,如果你访问它作为一个IDictionary<string, object>访问ExpandoObject的成员。将你的清单设为List<IDictionary<string, object>>,这将允许你做这样的事情:

var contacts = new List<IDictionary<string, object>> { new ExpandoObject() }; 
contacts[0]["Name"] = "Patrick Hines"; 

var asDynamic = contacts as dynamic; 
asDynamic[0].Phone = "206-555-0144"; 
+0

非常感谢。完成! – user3197034