我正在與IronPython中的.NET API接口。 API正在返回錯誤類型的對象(某種通用對象)。我懷疑問題沒有出現在他們的C#代碼中,因爲構造對象時的類型聲明強制返回的對象是正確的類型。是否有可能在IronPython中綁定.NET對象?我認爲這會做到這一點。你可以在IronPython中設計一個.NET對象嗎?
回答
要強制轉換,你可以這樣做:
import clr
convertedObject = clr.Convert(someObject, someType)
這將搜索和運行隱式/顯式轉換如果存在的話。
注意:自IronPython 2.6起可用。
我無法得到這個工作。我無法在我的IronPython clr中找到「Convert」方法。 – 2009-09-17 21:35:53
如果有轉換方法,'Convert'調用顯式/隱式轉換方法;如果沒有,則返回該對象不變。它不能例如將對象轉換爲其父類型。 – 2013-07-09 11:01:13
如果我嘗試使用這個來將一個UInt32投射到一個Int16,我得到一個OverflowException。有沒有辦法做到這一點,就像一個明確的var y =(short)x;投? – marcob 2013-11-19 09:40:31
幾個月前,我在一個項目上遇到了類似的問題。這是我的解決辦法:
import clr
clr.GetPythonType(x)
x
可以是.NET類型或一個類型,它是在你已經使用clr
導入的dll文件。
我不是一個C#程序員,但我一直在用C#程序員的同事告訴記者,這段代碼在C#是:
typeof(x)
希望這有助於
clr.Convert犯規存在的IronPython 2.0 。這並不是強制轉換在IronPython的.NET對象的解決方案?,但它是將數據轉換,如果你真的需要它來使用它從 IronPython的
在VB.NET像這樣創建一個類和編譯的解決方法它變成一個DLL
Imports Microsoft.VisualBasic
Public Class MyConvert
Shared Function converttype(ByVal value As String) As Integer
Return CInt(value)
End Function
End Class
然後在IronPython中你做
clr.AddReference('MyConvert')
from MyConvert import converttype
converted_value = converttype("2.0")
如果需要投數值到enum
使用下面的,因爲上面的代碼不會對枚舉工作,但僅限於參考類型:
Enum.ToObject(CustomEnumType, value)
- 1. 你可以在一個.NET應用程序中SSL一頁嗎?
- 2. 你可以在PHP中克隆一個對象的父對象嗎?
- 3. IronPython可以直接調用.net dll嗎?
- 4. .NET對象設計
- 5. 你可以添加一個對象到C#監視器嗎?
- 6. 你可以通過兩層組件訪問一個對象嗎?
- 7. 你可以迭代一個雄辯的對象的屬性嗎?
- 8. 你可以將一個jaxb對象轉換爲org.w3c.dom.Element嗎?
- 9. Javascript - 你可以重用Date()對象嗎?
- 10. 你可以在C#2.0中設置一個整數爲空嗎?
- 11. 你可以在LESS CSS的mixin中設置一個變量嗎?
- 12. 你可以在WPF中設置一個元素的背景嗎?
- 13. 可以使用Protobuf-net部分序列化一個對象嗎?
- 14. PHP:你可以把一個DateTime對象放在while循環中嗎?
- 15. 你可以遍歷Java中特定類的每個對象嗎?
- 16. 如果你沒有Moq包裝,你可以驗證一個模擬對象嗎?
- 17. 我可以在Linqpad中使用IronPython嗎?
- 18. .net,你得到一個交易對象嗎?
- 19. 一個對象可以在scala中擴展抽象類嗎?
- 20. 你可以將字符串作爲MATLAB中列表中的一個對象嗎?
- 21. SQL Server 2005可以加載一個XML對象並在.NET中橫置它嗎?
- 22. 你可以在Spring TaskExecutors中使用Future/Futuretask對象嗎?
- 23. 你可以在運行時使對象可序列化嗎?
- 24. 你可以模擬一個實現接口和抽象類的對象嗎?
- 25. 你可以在另一個線程上重新拋出一個.NET異常嗎?
- 26. 可以在老一代中創建一個對象嗎?
- 27. 你可以傳遞一個對象方法作爲JavaScript中的回調嗎?
- 28. Ruby DSL:你可以通過一個塊到一個對象
- 29. Java - 你可以有多少個對象?
- 30. 我們可以設置一個類的對象的屬性嗎?
你能詳細說一下嗎?你的錯誤類型是什麼意思? – Rohit 2009-09-17 16:41:08
似乎IronPython總是根據其「真實」類型填充對象的成員(因爲它使用反射來確定該類型)。你能給我們舉一個例子嗎? – 2014-04-18 07:23:11