有人能告诉我是否有可能在IronPython中重新声明C#类?如果我有一个C#类,我可以从IronPython中修补它吗?

有帮助吗?

解决方案

你不能从IronPython中修补补丁。 IronPython处理所有.NET类,就像CPython处理内置类型一样:它们不能被猴子修补。另一方面,IronRuby支持这一点。

其他提示

你可以从IronPython中进行猴子补丁,但是IPy是唯一能够尊重你的变化的环境;即如果你试图从IronPython中模拟出File.Create,这对于任何IPy代码都可以正常工作,但是如果你调用一个名为File.Create的C#方法,它将获得真实的,而不是模拟。

你为什么要重新宣布它? 将其子类化或仅仅创建一个全新的内容是不是更有意义类?

编辑:澄清一下,我认为你真正需要的是一个适当的控制反转(IOC)框架,例如温莎城堡。基本上,您有一个数据库接口,然后配置IOC框架以注入用于生产的真实数据库,并模拟数据库以进行测试。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top