给定动态对象和字符串成员名称:
string AMemberNameIKnowExists = "SomeMember"; //determined at runtime
dynamic myDynamicObject = //...
我想访问动态对象上的“SomeMember”成员。我是否必须使用标准反射工具,或者我有动态对象的事实是否为我提供了更好的方法来解析成员名称?
答案 0 :(得分:2)
我尚未对此进行测试,但您应该可以使用DynamicObject
TryGetMember
方法:
myDynamicObject.TryGetMember(new GetMemberBinder("SomeMember", false), out result)
据我了解dynamic
,这就像myDynamicObject.SomeMember
这样的动态调用被翻译成了什么。
答案 1 :(得分:0)
尝试这种方式从对象中获取属性值
myDynamicObject.GetType()
.GetProperty("SomeMember")
.GetValue(myDynamicObject, null);