有些时候我们定义类,而类中部分属性需要动态变化,这时我们需要定义动态属性:
public class User { public string Id{ get; set; } public string Name { get; set; } public dynamic vars { get; set; } }
我们将字典(Dictionary)的值赋值给动态属性:
Dictionary<string, string> elements = new Dictionary<string, string>(); elements.Add("keywork1", "1"); elements.Add("keywork2", "2"); elements.Add("keywork3", "3"); elements.Add("keywork4", "4");
User user = new User(); user.vars = new System.Dynamic.ExpandoObject(); if (elements != null && elements .Count > 0) { foreach (var e in elements) { ((IDictionary<string, object>)user.vars).Add(e.Key, new Account() { account = e.Value }); } }