这可能很容易,但我真的不明白。
据我了解:dynamic
C# 依赖的大多数类型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