我在基于反射的 C# 代码中遇到过一些动态方法,但我还没有弄清楚它们到底是什么。似乎有一个DynamicMethod
类允许在运行时生成和规范 CLR 方法。但是还有这MethodBuilder
门课。他们似乎都在做非常相似的事情。显然“动态程序集”是AssemblyBuilder
类,“动态类型”是TypeBuilder
类。无论如何,它们都驻留在System.Reflection.Emit
名称空间中。
MSDN 似乎有关于这个主题的宝贵的少量高级信息。因此,如果有人可以解释什么是动态方法,所有XYZBuilder
类在哪里发挥作用,以及它们各自的用途,那就太好了。我应该知道的任何其他 Reflection.Emit 类型和功能也将不胜感激。