从动态类型获取属性

时间:2010-11-05 22:00:30

标签: c# reflection dynamic .net-4.0

我有一个动态类型

var f = context.ExecuteStoreQuery<dynamic>("CALL iv_sp_computersbyday();

我怎么能现在有什么属性动态tuype返回???我不能通过对动态的反思来获取。

1 个答案:

答案 0 :(得分:1)

我不熟悉ExecuteStoreQuery,但使用dynamic关键字和实际是动态对象的对象之间存在差异。如果它是一个静态对象,只是作为动态转换,那么反射就可以了。如果它是一个动态对象,则反射将返回的方法不是您期望的方法。通常,动态对象将有一些方法来查询用于处理实现的参数,例如,从DynamicObject继承的事物经常实现GetDynamicMemberNames,然后具有动态调用的方法,如{{1} }。一旦你有成员名称,有更多通用的方法来进行动态绑定,但是它可以与DLR CallSites和Binders一起使用,尽管有一些简单的静态方法封装了开源框架中的所有DLR内容{ {3}}