什么会更快,通过反思访问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>
中,而不是通过字典的键访问方法信息?
谢谢!
答案 0 :(得分:0)
缓存反射信息总是更好,因为当您通过内置API检索它们时,它会锁定一个全局字典以提供唯一的实例。对于它们的高使用率+多线程,这可能会很糟糕。预缓存可以提供帮助。