任何人都可以告訴我它是否可以重新聲明IronPython中的C#類?如果我有一個C#類,我是否可以從IronPython中修補它?IronPython中的Redeclare .net類
回答
你不能從IronPython猴子補丁。 IronPython像所有的.NET類一樣對待內置類型:它們不能被猴子修補。 IronRuby另一方面確實支持這一點。
爲什麼要重新聲明它? subclass it或者只是創造一個全新的課程,難道不會更有意義嗎?
編輯:給你的澄清,我認爲你實際需要的是正確的控制(IOC)框架倒置,如Castle Windsor。基本上,你有一個數據庫接口,然後配置IOC框架注入一個真實的數據庫進行生產,並模擬數據庫進行測試。
我想重新聲明構造函數,因爲類試圖訪問構造函數中的數據庫,這使得單元測試變得很困難。通過重新聲明構造函數,我可以將類指向模擬數據庫,並且單元測試它而不會觸及實際的數據庫。感謝您的迴應。 – 2009-06-18 17:14:56
你可以從IronPython的猴子補丁,但IPy是唯一的環境,將尊重你的變化;即如果您試圖從IronPython中剔除File.Create,這對任何IPy代碼都可以正常工作,但如果您調用一個名爲File.Create的C#方法,它將獲得真正的一個,而不是模擬。
你如何做到這一點?當我在自己的課上嘗試時,我收到以下消息: AttributeError:'className'對象的屬性'methodName'是隻讀的 – 2009-06-26 19:43:31
- 1. IronPython類中的.NET屬性
- 2. PHP中的redeclare類
- 3. 在Ironpython中使用.net類問題
- 4. IronPython的集成.NET
- 5. 循環中的Redeclare函數
- 6. IronPython中的.NET List初始化
- 7. .Net 2.0中的IronPython XML讀取器
- 8. 訪問IronPython中.NET類方法重載的錯誤
- 9. redeclare javascript函數
- 10. 開始.net開發¶在Ironpython
- 11. 在C#中實現一個.NET接口實例化IronPython類型
- 12. 在IronPython中引用EPPlus .Net庫
- 13. Redeclare函數錯誤
- 14. IronPython的:動態地從.NET的字典
- 15. 從IronPython的調用函數的.Net [VS2012]
- 16. IronPython中的LINQ
- 17. 安全並保護.NET中的類或DLL免於在IronPython中使用
- 18. 實例化IronPython中
- 19. IronPython對象的類型
- 20. 從C#中查找IronPython類的方法
- 21. 訪問IronPython中的C#類成員
- 22. IronPython公開.Net類型到運行時引擎
- 23. IronPython中的OpenFileDialog
- 24. deepcopy的IronPython中
- 25. IronPython中
- 26. IronPython中
- 27. IronPython可以直接調用.net dll嗎?
- 28. 通過IronPython實現.NET和Python interop
- 29. 函數redeclare致命錯誤?
- 30. IronPython中的代理對象
作爲一個澄清,我想知道如何從IronPython猴子補丁的c#類。 – 2009-06-19 13:25:25