今、私はこれをやっています
var data = new JobDataMap(new Dictionary<string,string> { {"obj", "stringify"} });
しかし、私はこれをしたい:
dynamic d = new { obj = "stringify" };
var data = new JobDataMap(d);
これを可能にする秘密の構文糖衣はありますか?
今、私はこれをやっています
var data = new JobDataMap(new Dictionary<string,string> { {"obj", "stringify"} });
しかし、私はこれをしたい:
dynamic d = new { obj = "stringify" };
var data = new JobDataMap(d);
これを可能にする秘密の構文糖衣はありますか?
これを行う魔法の方法はありません。コンパイル時に、Dynamic オブジェクトが実際に Dictionary であることをコンパイラが認識できる方法はありません。
そうは言っても、それを Dictionary に変換する拡張メソッドを作成して、次のようなことができるようにすることができます。
dynamic d = new { obj = "stringify" };
var data = new JobDataMap(d.ToDictionary());
このブログ投稿では例を示しています: http://blog.andreloker.de/post/2008/05/03/Anonymous-type-to-dictionary-using-DynamicMethod.aspx