对Type定义而不是实例执行反射.
该实例用于在需要时检索值,并且仅是值的存储位置,Type定义是此存储区域的映射.
因此,无法指示是否已在实例上使用了反射...可以确定最近是否已对类型执行了反射(在最后一次垃圾收集器运行之前,认为反映反射)但是切线最好不是在这里进一步探讨,因为它仍然没有解决你想要实现的问题.
当CLR执行反射时,它会这样做,不会留下任何已执行反射的痕迹,除了与执行反射相关的内存成本.
如果不修改CLR,就不可能留下任何此类指示.
解决此问题的另一种方法是提供一个反射缓存,它将类型信息存储在Dictionary中,这将允许您确定是否已反映特定类型,然后使用Dictionary中的信息,而不是再次执行反射.