【发布时间】:2013-10-23 00:50:48
【问题描述】:
我希望能够访问属性的void set_PropertyName(var value) 和var get_Property() 方法。
有没有办法做到这一点没有反射?
并且没有得到Compiler Error CS0571。
编辑 没有反射我的意思是没有反射的开销(不仅仅是编写代码),因为这是需要运行很多次的代码,我希望它没有反射的开销。 不幸的是,动态也使用了反射。
这似乎在 c++.net 中是可能的,但在其他语言中却不是(虽然我无法判断,因为我的 C++ 安装已经被塞满了)。
感谢您的回复。
【问题讨论】:
-
或许
dynamic dynamicObject = notSoDynamicObject; int z = dynamicObject.get_Property(); -
你想做什么? (在运行时替换实现,动态调用属性,检查类型或其他完全?)
-
@ta.speot.is 我确实尝试过,但不幸的是它没有用。另外,我相当肯定动态在幕后使用反射。
-
* 因为这是需要运行很多次的代码,所以我希望它没有反射开销。不幸的是,动态也使用了反射。*我认为那些编译的表达式是你想要的。假设属性没有改变(即您可能有 10 个属性需要调用 10,000 次,而不是 100,000 个属性需要调用一次)
标签: .net