现在,我正在做这个
var data = new JobDataMap(new Dictionary<string,string> { {"obj", "stringify"} });
但我想这样做:
dynamic d = new { obj = "stringify" };
var data = new JobDataMap(d);
是否有一些秘密的语法糖可以让我这样做?
答案 0 :(得分:1)
没有神奇的方法可以做到这一点。在编译时,编译器无法知道您的Dynamic对象确实是一个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