有人知道是否可以使用动态lang功能通过索引器调用CLR对象上的方法?例如,我可以在javascript中轻松完成myClrObj["SuperMethod"] ()
。
提前谢谢。
答案 0 :(得分:1)
可能有更好的方法,但我知道如何做的一种方法是:
DynamicObject
提供一个扩展方法,使您的对象看起来是动态的,并实例化正确的DynamicObject特化。
dynamic obj = myObj.AsIndexedObj(); obj["Do"]();
答案 1 :(得分:0)
您可以使用nuget提供的开源Dynamitey,它包装了DLR API,使其更容易按名称动态调用方法,适用于动态和poco对象。比poco对象的反射更快。
Dynamic.InvokeMember(myClrObj,"SuperMethod")