2012-05-13 37 views
1

因此,我想創建自己的Azure Table類,該類僅使用IronPython進行聲明。在C#中使用屬性來定義這樣的類。如何將它直接翻譯成pythonic方式?IronPython類中的.NET屬性

我現在當我重寫C#類的所有屬性感謝get_Name和set_Name的反射,並以這種方式我可以重寫它們。但我想創建在C#中可見的新屬性。 1

在Python中有創建這樣的屬性函數。但是Python的屬性會被C#識別嗎?我可以將setter和getter函數重命名爲C#反射模型。 2

也許在程序集中有一些方法可以通過其他方式創建屬性然後語法糖?我沒有找到它。

我想表明有可能在IronPython中使用Azure表。

回答

1

我不熟悉Iron Python。這篇博文可能會有幫助,但它需要我們用C#定義數據模型,然後從Iron Python調用數據模型:http://blog.sharpthinking.com.au/post/2009/02/20/Azure-Table-Storage-in-IronPython.aspx。最後,表格存儲是一個REST服務。因此,我們可以使用REST API以我們選擇的任何語言處理表格存儲。如果它不以我們選擇的語言提供客戶端庫,我們可以建立自己的客戶端庫。由於表格存儲使用OData協議,因此OData的一些第三方庫也可能有所幫助。我建議你看看http://code.google.com/p/odata-py/

最好的問候,

徐明。

+1

感謝您的回答。在嘗試直接在IronPython上運行它之後,我意識到無法直接在IronPython上運行Azure表。我想避免使用C#,但這是不可能的。感謝IronPython可以在C#中使用程序集,我以類似於第一個鏈接的方式避免了這個問題。感謝OData的解決方案,我認爲它會更好。現在爲什麼我無法在IronPython中簡單地做到這一點。即使我可以使用Python的方式創建屬性,因爲它們沒有類型。 – zwierzak

+0

表存儲是實現OData協議的REST服務。所以我們可以在任何支持HTTP請求的語言中使用它。至於如何將IronPython類型轉換爲REST服務的請求體,它是客戶端任務而不是服務端任務。在C#中,Microsoft通過編寫客戶端庫爲我們完成了客戶端任務。在IronPython中,您可能需要自己編寫或查找第三方庫。我會把這部分問題留給更熟悉IronPython的人。 –