我对.NET中的反射(c#)几乎没有什么经验,但我正试图找到最好的方法来使用它。我的理解是,由于性能问题,最好在最低级别的库中使用它。这是真的,如果没有,为什么不呢?
答案 0 :(得分:0)
反射通常是一个“缓慢”的过程,因为它没有不使用反射那么快,我想说不建议你滥用反射,因为它可以通过更传统的手段来规避。
正如大多数人所说,它通常是一个足够快的解决方案。您需要运行性能测试以确定您的用例是否太慢或不必要。
至于在哪里使用它,我不会说它真的很重要,但是在视图模型或ASP.NET控制器中滥用它可能没有意义,因为这些组件通常具有与UI相关的问题。然而,再一次,关于什么时候需要反思是个案决定,所以你真的需要做出判断。没有严格的快速规则,只能在较低级别的库中使用反射。
反思可以解决很多问题,如果这是最简单的解决方案,我说要去做,只需确保测试你的代码。如果反射最终变慢,重构并尝试别的东西。