2012-03-04 70 views
1

所以,這對你們來說可能看起來很基本,但我卻被正式貶低了。我試圖使用protobuf將我的應用程序中的一些數據保存到一個文件中(由一些同行向我推薦),但我似乎無法找到任何文檔,我總能找到一些奇怪的錯誤。我有一個數組聲明如下:如何爲我的VB.net應用程序設置Protobuf?

Private Terrain(,,) As TiledTerrain 

的TiledTerrain類看起來是這樣的:

Public Class TiledTerrain 

    Public X As Integer 
    Public Y As Integer 

    Public Texture_X As Integer 
    Public Texture_Y As Integer 

End Class 

這狗真漂亮,簡單吧?那麼,我似乎無法弄清楚如何使用Protobuf將我的Terrain陣列保存到文件?

Terrain數組只是一個簡單的3維數組(大約100x100x2)。數組中的每個單元格可能實際包含或不包含值(TiledTerrain),如果不包含,則將包含「Nothing」。

任何人都可以向我解釋我應該如何去做這件事嗎?我目前參考了protobuf-net.dllprotobuf-net.Extensions.dll,因爲我不知道該用哪個...

感謝您的幫助!

-A白癡天才之中:)

回答

2

先讀Getting Started描述最簡單的場景,使用屬性。 VB對屬性的語法略有不同,你可能比我更熟悉 - 但概念是相同的。

還有其他選擇,注意事項:

    在V2模式
  • 可以,如果你想配置entirey在運行時,無需進行任何屬性
  • 如果類型看起來像一個明顯的「元組」(其中包括一個重要的構造函數,它需要一個與每個公共成員匹配的參數),它將使用構造函數來推斷合同

雖然存在一個問題, protobuf-net目前不支持多維數組。它當然可以添加,但與所有功能一樣:它在寫入之前不存在。這不被直接支持的原因是底層protobuf規範(由谷歌)不支持這一點。如果平坦化爲一個向量(基於1維的零陣列),它將起作用。如果您需要示例幫助,請告訴我。

+0

哇,這一切都奇蹟現在!非常感謝Marc! – FreeSnow 2012-03-04 19:46:13

相關問題