6

通常、次のようなプロパティを作成できます。

dynamic expando = new ExpandoObject();
expando.Price = 45k;
expando.Value = "Good";

私の場合、「Price」や「Value」などのプロパティは実行時までわかりません。どうすれば、そのような動的プロパティを作成できますか。何かのようなもの、

dynamic expando = new ExpandoObject();
expando[properties[0]] = 45k;
expando[properties[1]] = "Good";
expando[properties[2]] = "Red";
expando[properties[3]] = 8;

とにかくこの種の振る舞いを達成するために。

4

1 に答える 1

20

それが実装しているという事実を使用してIDictionary<string, Object>ください:

IDictionary<string, Object> expando = new ExpandoObject();
expando[properties[0]] = 45;
expando[properties[1]] = "Good";
expando[properties[2]] = "Red";
expando[properties[3]] = 8;

dynamic d = expando;
// Now use the properties as normal

一方、実行時までプロパティがわからない場合、実際に何がプロパティを消費するのでしょうか。それでも使用するのは理にかなっているかもしれませんが、最初から使用するのもExpandoObject同様に理にかなっているかもしれませDictionary<string, object>ん。

于 2011-03-15T11:09:38.950 に答える