Вопрос

Может кто-нибудь сказать мне, возможно ли переопределить класс C # в IronPython? Если у меня есть класс C #, смогу ли я сделать патч для этого из IronPython?

Это было полезно?

Решение

Вы не можете обезьяньего патча от IronPython. IronPython обрабатывает все классы .NET так же, как CPython обрабатывает встроенные типы: они не могут быть исправлены обезьянами. IronRuby, с другой стороны, поддерживает это.

Другие советы

Вы можете сделать monkey-patch из IronPython, но IPy - единственная среда, которая будет уважать ваши изменения; то есть, если вы попытаетесь смоделировать File.Create из IronPython, это будет хорошо работать для любого кода IPy, но если вы вызовете метод C #, который вызвал File.Create, он получит реальный, а не макет.

Зачем вам это делать? Разве не имеет смысла создать его подкласс или просто сделать совершенно новый класс?

РЕДАКТИРОВАТЬ: Дайте пояснение, я думаю, что вам действительно нужна правильная структура инверсии управления (IOC), например, Замок Виндзор . По сути, у вас есть интерфейс базы данных, затем сконфигурируйте инфраструктуру IOC для внедрения реальной базы данных для производства и макета базы данных для тестирования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top