Может ли кто-нибудь сказать мне, возможно ли его повторное использование класса C# в IronPython? Если у меня есть класс C#, могу ли я обезопасить его от IronPython?Redeclare .net classes в IronPython
ответ
Вы не можете патч обезьяны от IronPython. IronPython рассматривает все классы .NET так же, как CPython рассматривает встроенные типы: они не могут быть заражены обезьяной. IronRuby, с другой стороны, поддерживает это.
Почему бы вам не обновить его? Разве не имеет смысла subclass it или просто сделать совершенно новый класс?
EDIT: Дайте свое пояснение, я думаю, что вам действительно нужна правильная инверсия структуры управления (IOC), например Castle Windsor. В принципе, у вас есть интерфейс базы данных, а затем настройте структуру IOC для внедрения реальной базы данных для производства и макетирования базы данных для тестирования.
Я хочу переопределить конструктор, потому что класс пытается получить доступ к базе данных в конструкторе и затрудняет модульный тест. С помощью redeclaring конструктора я могу указать класс на базу данных макета, и блок протестирует его, не попав в фактическую базу данных. Спасибо, что ответили. –
Вы можете обезьян-патч от IronPython, но IPy - единственная среда, которая будет уважать ваши изменения; т. е. если вы попытались высмеять File.Create из IronPython, это будет нормально работать для любого кода IPy, но если вы вызвали метод C#, который называется File.Create, он получит реальный, а не макет.
Как вы это делаете? Когда я пробую это на своих собственных классах, я получаю это сообщение: AttributeError: атрибут 'methodName' объекта 'className' доступен только для чтения –
- 1. IronPython for .NET core
- 2. IronPython vs. Python .NET
- 3. Свойства .NET в классах IronPython
- 4. Начало разработки .net в ironpython
- 5. .NET Partial Classes vs. Inheritance
- 6. Функция Redeclare в цикле
- 7. Как импортировать сторонний модуль IronPython в .NET?
- 8. Как выгрузить ссылку сборки .NET в IronPython
- 9. инстанцировании пользовательские типы .NET в IronPython
- 10. XML-Reader IronPython в .Net 2.0
- 11. Как встроить IronPython в .NET-приложение
- 12. Проблема с использованием класса .net в ironpython
- 13. Модульные тесты .net classes: Exception и File.WriteAllText
- 14. WHMCS Невозможно redeclare _createCustomer()
- 15. Путь к redeclare file_get_html()?
- 16. Ошибка функции Redeclare
- 17. Передача нескольких аргументов из IronPython методу .NET
- 18. Как использовать .NET API с IronPython?
- 19. Как использовать IronPython с. Net Core 1.0
- 20. IronPython, Click Once, Ошибка .NET 2.0 - мысли?
- 21. Ironpython получить тип свойства dot net class
- 22. Интеграция с IronPython с C#/.NET
- 23. IronPython, отображающий .Net-тип для механизма выполнения.
- 24. Вызов функции .Net от IronPython [VS2012]
- 25. Java Classes To C# Classes
- 26. Выполнение IronPython в C#
- 27. IronPython + Emacs?
- 28. Возникли проблемы с невозможностью redeclare
- 29. php не может redeclare _autoload()
- 30. VB redeclare как другой тип
Как пояснение, я хочу знать, как использовать классы monkey-patch C# из IronPython. –