是否可以在运行时扩展或修改C#类的代码?

我的问题特别涉及猴子修补/鸭打洞或元对象编程(MOP),因为它发生在Groovy,Ruby等脚本语言中。

最佳答案



不可以,无法在.NET中执行此操作。您可以编写派生类并重写方法(如果它们是虚拟的),但是无法修改现有的类。试想一下,如果您要问的是可行的:您可以修改某些现有系统类(如System.String)的行为。

您还可以查看Extension methods,以向现有类添加功能。

关于dynamic - 用C#修补猴子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4538017/

10-11 04:10