給定一個動態對象和一個字符串成員的名字:當我知道成員名稱時訪問動態對象成員的最佳方法是什麼?
string AMemberNameIKnowExists = "SomeMember"; //determined at runtime
dynamic myDynamicObject = //...
我想訪問「SomeMember」成員我的動態對象。我是否必須使用標準的反射工具,或者我有一個動態對象的事實爲我提供了一種更好的方法來按名稱解析成員?
給定一個動態對象和一個字符串成員的名字:當我知道成員名稱時訪問動態對象成員的最佳方法是什麼?
string AMemberNameIKnowExists = "SomeMember"; //determined at runtime
dynamic myDynamicObject = //...
我想訪問「SomeMember」成員我的動態對象。我是否必須使用標準的反射工具,或者我有一個動態對象的事實爲我提供了一種更好的方法來按名稱解析成員?
試試這個方式來獲得屬性值形成
myDynamicObject.GetType()
.GetProperty("SomeMember")
.GetValue(myDynamicObject, null);
我沒有測試此對象,但你應該能夠使用DynamicObject
的TryGetMember
方法:
myDynamicObject.TryGetMember(new GetMemberBinder("SomeMember", false), out result)
據正如我所瞭解的dynamic
,這就是像myDynamicObject.SomeMember
這樣的動態調用被翻譯成的。
[動態獲取動態對象的值]的可能重複(http://stackoverflow.com/questions/1926776/getting-a-value-from-a-dynamic-object-dynamically) – jbtule
約定jbtule(和以及發現的)。 –