代码之家  ›  专栏  ›  技术社区  ›  this. __curious_geek

在多大程度上应该使用反射?

  •  2
  • this. __curious_geek  · 技术社区  · 17 年前

    我们有。。

    • 由属性和反射驱动的验证框架
    • 使用Attributes和Reflection将DataRow转换为Entity对象的扩展方法,反之亦然。我们对DataTable和EntityCollections做了同样的事情。

    5 回复  |  直到 17 年前
        1
  •  4
  •   Community Mohan Dere    9 年前

    当然,任何这样的代码都应该被缓存并重新使用(你不想每次调用都编译+执行;只需要第一个——其余的应该直接执行)。

    或者有一些图书馆抽象了这一点;例如, HyperPropertyDescriptor PropertyDescriptor this previous question ,我使用HyperDescriptor做了一些指标,并给出了摘要(以毫秒为单位):

    Vanilla 27179
    Hyper   6997
    

        2
  •  1
  •   Matthew Scharley    17 年前

        3
  •  1
  •   Jimmy Chandra    17 年前

        5
  •  1
  •   Guffa    17 年前

    我的建议是,始终先尝试找到面向对象的解决方案,而不是在第一次机会时进行反思。使用反射可能更容易完成一些事情,但使用OO解决方案通常会使代码更有条理,并且可以消除反射的开销。

    在我作为开发人员的这些年里,我只使用过两次反射。..第一个是访问一些私有变量,以获取web请求的上传进度。第二个是在从数据读取器读取时动态创建对象实例,我后来很高兴用通用解决方案替换了它。

    推荐文章