关于使反思飞行和探索代表的问题 ......
如果我需要为Func<T, TResult>动态加载类型的方法创建委托,我可能会使用(1)Delegate.CreateDelegate(2)DynamicMethod(3)Expression树.
让我们说一组动态加载的类型/方法在应用程序启动时通过config反映一次,并在应用程序的整个生命周期中使用(启动性能不是问题,也不是内存),代理被缓存并分派到一个强烈的方式.这些代理是同时访问的热路径.
您更喜欢哪种动态绑定方法?为什么?
创建直接发射IL的方法与构建表达式树相比,是否存在性能差异?