【发布时间】:2013-10-18 12:30:39
【问题描述】:
这可能很容易,但我真的不明白。
据我了解:
C#中dynamic类型最多依赖IDictionary<string,object>
我用 WebMatrix.Data 做了一个峰值,我想将我的结果投射到 IDictionary<string,object> 但这不起作用......
WebMatrix.Data 查询返回一个IEnumerable<DynamicRecord> 这是我尝试投射的...
这是我的天真的代码......
var o = (DynamicObject) webmatrixRecord; // No Exception but o is still DynamicRecord
var o = (IDictionary<string,object>) webmatrixRecord; // Runtime Binder Exception
var o = ((IDictionary<string,object>)((DynamicRecord)webmatrixRecord)) // InvalidCastException;
那么什么是投射动态对象的正确方法?
WebMatrix.DynamicRecord:http://msdn.microsoft.com/de-de/library/webmatrix.data.dynamicrecord(v=vs.111).aspx
Dynamics.DynamicRecord:http://msdn.microsoft.com/de-de/library/system.dynamic.dynamicobject(v=vs.111).aspx
【问题讨论】:
标签: c# c#-4.0 dynamic casting dynamicobject