如何为我的 VB.net 应用程序设置 Protobuf?
Posted
技术标签:
【中文标题】如何为我的 VB.net 应用程序设置 Protobuf?【英文标题】:How do I set up Protobuf for my VB.net application? 【发布时间】:2012-03-04 17:53:16 【问题描述】:所以,这对你们来说可能看起来很初级,但我被官方难住了。我正在尝试使用 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.dll
和protobuf-net.Extensions.dll
,因为我真的不知道该使用哪个...
感谢您的帮助!
-天才中的白痴:)
【问题讨论】:
【参考方案1】:首先阅读Getting Started,它描述了最简单的场景,使用属性。 VB 的属性语法略有不同,您可能比我更熟悉 - 但概念是相同的。
还有其他选择,注意:
在 v2 中,如果您愿意,可以在运行时完全配置模型,而无需任何属性 如果类型看起来像一个明显的“元组”(重要的是,包括一个构造函数,它接受一个匹配每个公共成员的参数),它将使用构造函数顺序来推断契约但是有一个问题; protobuf-net 目前不支持多维数组。它当然可以添加,但与所有功能一样:在编写之前它不存在。不直接支持的原因是底层 protobuf 规范(由 Google 提供)不支持这一点。如果展平为向量(一维从零开始的数组),它将起作用。如果您需要有关示例的帮助,请告诉我。
【讨论】:
以上是关于如何为我的 VB.net 应用程序设置 Protobuf?的主要内容,如果未能解决你的问题,请参考以下文章