C# 当我知道成员名称时,访问动态对象成员的最佳方法是什么?
给定动态对象和字符串成员名称:C# 当我知道成员名称时,访问动态对象成员的最佳方法是什么?,c#,dynamic,.net-4.0,C#,Dynamic,.net 4.0,给定动态对象和字符串成员名称: string AMemberNameIKnowExists = "SomeMember"; //determined at runtime dynamic myDynamicObject = //... 我想访问动态对象上的“SomeMember”成员。我是否必须使用标准反射工具,或者我有一个动态对象这一事实是否为我提供了一种更好的方法来按名称解析成员?尝试这种方法从对象获取属性值 myDynamicObject.GetType()
string AMemberNameIKnowExists = "SomeMember"; //determined at runtime
dynamic myDynamicObject = //...
我想访问动态对象上的“SomeMember”成员。我是否必须使用标准反射工具,或者我有一个动态对象这一事实是否为我提供了一种更好的方法来按名称解析成员?尝试这种方法从对象获取属性值
myDynamicObject.GetType()
.GetProperty("SomeMember")
.GetValue(myDynamicObject, null);
我尚未对此进行测试,但您应该能够使用
DynamicObject
的方法:
就我所理解的dynamic
,这就是像myDynamicObject.SomeMember
这样的动态调用被转换为的内容 商定的jbtule的可能副本(且已找到)。
myDynamicObject.TryGetMember(new GetMemberBinder("SomeMember", false), out result)