在 vb.net 中使用 .proto 文件
Using .proto files in vb.net
我正在尝试掌握 protobuf-net,因为我相信这是帮助我反序列化 protobuf 创建的文件的正确工具。我设法找到了与相关文件相关的 .proto 文件,因此我相信我拥有处理该文件所需的所有原始信息。这是我的问题:
protobuf-net github page 中说你必须像这样装饰你的 classes:
[ProtoContract]
class Person {
[ProtoMember(1)]
public int Id {get;set;}
[ProtoMember(2)]
public string Name {get;set;}
[ProtoMember(3)]
public Address Address {get;set;}
}
[ProtoContract]
class Address {
[ProtoMember(1)]
public string Line1 {get;set;}
[ProtoMember(2)]
public string Line2 {get;set;}
}
我的问题是,我是否需要根据我找到的每个 .proto 文件在我的项目中创建一个新的 class 并将它们逐行转换为上述格式?有没有一种方法可以引用 .proto 文件?
编辑:用于 protogen 的 VB.NET 工具已经实现,现在可以通过 protobuf-net 在 https://protogen.marcgravell.com 获得; command-line 工具尚未更新,但会在接下来的几天内更新(代码相同,只是发布方式不同)。
protobuf-net 有一个 .proto codegen 工具。 with r668 发布的 protogen 版本包括 VB.NET 支持,但不支持 up-to-date "proto3" 和其他各种 protobuf 概念。在 protobuf-net 2.3 中,protogen 工具被完全重写以完全管理并包含现代 .proto 概念,但是:虽然 API 是语言可扩展的,但我 还没有实现VB.NET生成器,主要是因为我不是编写惯用VB.NET代码的可靠智慧来源。
如果你想实现一个 VB.NET 生成器,实际工作量不大,我很乐意接受 PR。
我正在尝试掌握 protobuf-net,因为我相信这是帮助我反序列化 protobuf 创建的文件的正确工具。我设法找到了与相关文件相关的 .proto 文件,因此我相信我拥有处理该文件所需的所有原始信息。这是我的问题:
protobuf-net github page 中说你必须像这样装饰你的 classes:
[ProtoContract]
class Person {
[ProtoMember(1)]
public int Id {get;set;}
[ProtoMember(2)]
public string Name {get;set;}
[ProtoMember(3)]
public Address Address {get;set;}
}
[ProtoContract]
class Address {
[ProtoMember(1)]
public string Line1 {get;set;}
[ProtoMember(2)]
public string Line2 {get;set;}
}
我的问题是,我是否需要根据我找到的每个 .proto 文件在我的项目中创建一个新的 class 并将它们逐行转换为上述格式?有没有一种方法可以引用 .proto 文件?
编辑:用于 protogen 的 VB.NET 工具已经实现,现在可以通过 protobuf-net 在 https://protogen.marcgravell.com 获得; command-line 工具尚未更新,但会在接下来的几天内更新(代码相同,只是发布方式不同)。
protobuf-net 有一个 .proto codegen 工具。 with r668 发布的 protogen 版本包括 VB.NET 支持,但不支持 up-to-date "proto3" 和其他各种 protobuf 概念。在 protobuf-net 2.3 中,protogen 工具被完全重写以完全管理并包含现代 .proto 概念,但是:虽然 API 是语言可扩展的,但我 还没有实现VB.NET生成器,主要是因为我不是编写惯用VB.NET代码的可靠智慧来源。
如果你想实现一个 VB.NET 生成器,实际工作量不大,我很乐意接受 PR。