眼下的方法,我做這個傳遞一個C#動態對象,它接受一個IDictionary的
var data = new JobDataMap(new Dictionary<string,string> { {"obj", "stringify"} });
但我想這樣做:
dynamic d = new { obj = "stringify" };
var data = new JobDataMap(d);
有一些祕密的語法糖那會讓我做到這一點?
眼下的方法,我做這個傳遞一個C#動態對象,它接受一個IDictionary的
var data = new JobDataMap(new Dictionary<string,string> { {"obj", "stringify"} });
但我想這樣做:
dynamic d = new { obj = "stringify" };
var data = new JobDataMap(d);
有一些祕密的語法糖那會讓我做到這一點?
有沒有這樣做的神奇方式。編譯器無法知道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
不,它不是可能就是這樣。但是,爲什麼不用動態對象添加到JobDataMap中? – Styxxy
也許你可以使用['RouteValueDictionary'](http:// msdn.microsoft.com/en-us/library/cc680272.aspx')。 – Silvermind