実行時にプロパティを ExpandoObject に動的に追加したいと考えています。たとえば、文字列プロパティ呼び出し NewProp を追加するには、次のように書きたいと思います
var x = new ExpandoObject();
x.AddProperty("NewProp", System.String);
これは簡単に可能ですか?
実行時にプロパティを ExpandoObject に動的に追加したいと考えています。たとえば、文字列プロパティ呼び出し NewProp を追加するには、次のように書きたいと思います
var x = new ExpandoObject();
x.AddProperty("NewProp", System.String);
これは簡単に可能ですか?
dynamic x = new ExpandoObject();
x.NewProp = string.Empty;
または:
var x = new ExpandoObject() as IDictionary<string, Object>;
x.Add("NewProp", string.Empty);
ここで Filip が説明したように - http://www.filipekberg.se/2011/10/02/adding-properties-and-methods-to-an-expandoobject-dynamicly/
実行時にメソッドを追加することもできます。
x.Add("Shout", new Action(() => { Console.WriteLine("Hellooo!!!"); }));
x.Shout();
これは、クラス定義でプロパティが定義されている場合のように、プリミティブ値を設定する必要なく、目的のタイプに新しいプロパティを追加すると思います
var x = new ExpandoObject();
x.NewProp = default(string)