我有這個動態添加屬性到動態對象?
dynamic d = new ExpandoObject();
d.Name = attribute.QualifiedName.Name;
所以,我知道d將有一個屬性名稱。現在,如果我在編譯時不知道該屬性的名稱,那麼我如何將該屬性添加到動態中。 我發現這SO Question
所以,這是一個複雜的概念呼叫綁定等等。這是很難得到的第一個place.any簡單的方法做到這一點?
我有這個動態添加屬性到動態對象?
dynamic d = new ExpandoObject();
d.Name = attribute.QualifiedName.Name;
所以,我知道d將有一個屬性名稱。現在,如果我在編譯時不知道該屬性的名稱,那麼我如何將該屬性添加到動態中。 我發現這SO Question
所以,這是一個複雜的概念呼叫綁定等等。這是很難得到的第一個place.any簡單的方法做到這一點?
dynamic d = new ExpandoObject();
((IDictionary<string,object>)d)["test"] = 1;
//now you have d.test = 1
你也可以這樣做: -
Dictionary<string,object> coll = new Dictionary<string,object>();
coll.Add("Prop1","hello");
coll.Add("Prop2",1);
System.Dynamic.ExpandoObject obj = dic.Expando();
//You can have this ext method to better help
public static ExpandoObject Expando(this IEnumerable<KeyValuePair<string, object>>
dictionary)
{
var expando = new ExpandoObject();
var expandoDic = (IDictionary<string, object>)expando;
foreach (var item in dictionary)
{
expandoDic.Add(item);
}
return expando;
}
個好方法...更清潔.. –
這裏是一個更清潔的方式
var myObject = new ExpandoObject() as IDictionary<string, Object>;
myObject.Add("Country", "Ireland");
的[添加未知(在設計時),屬性可能重複一個ExpandoObject](http://stackoverflow.com/questions/2974008/adding-unknown-at-design-time-properties-to-an-expandoobject) – nawfal