4

给定一个动态对象和一个字符串成员名称:

string AMemberNameIKnowExists = "SomeMember"; //determined at runtime
dynamic myDynamicObject = //...

我想访问我的动态对象上的“SomeMember”成员。我是否必须使用标准反射工具,或者我拥有一个动态对象这一事实是否为我提供了一种通过名称解析成员的更好方法?

4

2 回答 2

2

我没有对此进行测试,但您应该可以使用DynamicObject'sTryGetMember方法:

myDynamicObject.TryGetMember(new GetMemberBinder("SomeMember", false), out result)

据我了解dynamic,这就是动态调用myDynamicObject.SomeMember被翻译成的内容。

于 2012-05-31T08:42:49.537 回答
0

Try this way to get property value form the object

myDynamicObject.GetType()
               .GetProperty("SomeMember")
               .GetValue(myDynamicObject, null);
于 2012-05-31T07:59:02.393 回答