C#在运行时创建构造函数

MyN*_*ick 5 c# reflection

我开始阅读关于反射的内容,我想知道有没有办法在程序运行时创建构造函数。例如:获取类 C 并检查 C 是否有空构造函数,如果没有,则创建并使用它来创建此实例。构造函数也可能有参数。

我怎样才能做到这一点?谢谢

Sri*_*vel 3

您可以创建一个新的Typevia Reflection.Emit,但不可能为现有类型创建构造函数,因为构造函数应该存在于程序集中该类型的元数据中。您需要预先声明构造函数。

如果使用,Mono.Cecil您可以向类型添加新的构造函数,然后将其保存在新的程序集中(但这是不同的故事)。