<分区>
Possible Duplicate:
How costly is Reflection?
为了使我的代码通用,我开始使用反射 - 获取 DTO 对象中的一些属性并设置它们 -
与硬编码 setter 相比,使用反射来获取和设置属性是否会对性能产生如此严重的影响?
<分区>
Possible Duplicate:
How costly is Reflection?
为了使我的代码通用,我开始使用反射 - 获取 DTO 对象中的一些属性并设置它们 -
与硬编码 setter 相比,使用反射来获取和设置属性是否会对性能产生如此严重的影响?
最佳答案
是,使用反射会产生成本。
但是,对整体应用程序性能的实际影响各不相同。一条经验法则是永远不要在多次执行的代码中使用反射,例如循环。这通常会导致算法速度呈指数级下降 (O(cn))。
在许多情况下,您可以使用委托(delegate)而不是反射来编写通用代码,如 this blog post 中所述。 .
关于c# - 在 .Net 中使用反射是否会导致性能相当糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7201574/