0

现在,我正在做这个

var data = new JobDataMap(new Dictionary<string,string> { {"obj", "stringify"} });

但我想这样做:

dynamic d = new { obj = "stringify" };
var data = new JobDataMap(d);

是否有一些秘密的语法糖可以让我这样做?

4

1 回答 1

1

没有神奇的方法可以做到这一点。编译器无法在编译时知道您的 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

于 2013-05-14T23:03:14.057 回答