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的影响有多大?每次调用都会创建一个新对象吗?是否每个调用都意味着字典查找?这里的开销是多少?
GetTypeInfo作为静态反射方法不会创建新对象,因此唯一的开销是速度。你是对的,大多数反射的内脏都是JIT内联的,基于c++/CLI的代码——从我的经验来看,性能真的不是问题。
如果你感兴趣,反射api的内部是相当简单的原因,如果你通过mscorlib在反射器或其他汇编检查器。