缓存反射信息

本文关键字:信息 反射 缓存 | 更新日期: 2023-09-27 18:32:23

什么会更快,通过反射访问MethodInfo

var info = instance.GetType().GetMethod(methodName, 
System.Reflection.BindingFlags.Static | 
System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | 
System.Reflection.BindingFlags.NonPublic);

每次我需要调用方法时,还是应该将MethodInfo存储在Dictionary<..., MethodInfo>中,而不是通过字典的键访问方法信息?

谢谢!

缓存反射信息

缓存反射信息总是更好,因为当您通过内置 API 检索它们时,它会锁定全局字典以提供唯一实例。对于它们的高使用率 + 多线程,这可能很糟糕。预缓存可以提供帮助。