getypeinfo性能在Windows商店应用程序

本文关键字:应用程序 Windows 性能 getypeinfo | 更新日期: 2023-09-27 17:54:50

当从。net Framework 4.5移植到可移植类库配置文件或Windows Store应用程序时,对于重反射的库和应用程序的一个重大变化是过渡到进化类型系统,即从Type移动到TypeInfo

这可能是一种简单的方法,并从这里转换大量代码:

someType.AccessReflectionAPI();

…像这样:

someType.GetTypeInfo().AccessReflectionAPI();

这使得很多GetTypeInfo呼叫,这让我担心。因为在。net Framework 4.5 TypeInfo派生自Type, GetTypeInfo的实现是微不足道的(甚至可能是jit内联?),但如何实现Windows商店应用程序和。net核心?

在这些平台上调用GetTypeInfo的影响有多大?每次调用都会创建一个新对象吗?是否每个调用都意味着字典查找?这里的开销是多少?

getypeinfo性能在Windows商店应用程序

GetTypeInfo作为静态反射方法不会创建新对象,因此唯一的开销是速度。你是对的,大多数反射的内脏都是JIT内联的,基于c++/CLI的代码——从我的经验来看,性能真的不是问题。

如果你感兴趣,反射api的内部是相当简单的原因,如果你通过mscorlib在反射器或其他汇编检查器。