pro*_*eek 6 .net c# reflection caching
我在.NET/C#中使用反射API,如GetType()和GetTypes().
我们不知道"好"和"坏"对你意味着什么.
我们不知道您是否在可能成为应用程序瓶颈的关键性能代码中使用这些代码.
只有你确切地知道使用您的代码时会采取的路径Object.GetType和Assembly.GetTypes.
因此,只有您可以准确地描述这些方法对应用程序性能的使用有多大意义,以及尝试通过缓存提高性能的好处.
我可以告诉你这一点:我从来没有Type.GetType和Assembly.GetTypes在我的应用程序的瓶颈,我不缓存结果(我有,但是,需要缓存MemberInfo.GetCustomAttributes,但我只是来这个结论后探查告诉我,这是我的应用程序中的一个重要瓶颈,缓存将大大提高性能).
回应你的编辑:
我的意思是,这些API是否需要花费很多时间才能导致性能下降,或者这些API是否设计得很好,可以忽略性能问题?
你有什么替代品?如果您需要Type对给定对象的引用,或者您需要给定程序集中的所有类型,我向您保证Object.GetType并且Assembly.GetTypes是您的最佳选择.问题是,你是如何使用它们的?我们再一次不知道,因此不能告诉你该怎么做.您必须分析这些函数的实际使用情况,并了解它们是否会导致应用程序出现瓶颈.
| 归档时间: |
|
| 查看次数: |
4756 次 |
| 最近记录: |