Visual Studio auto generated code from gRPC .proto file(Visual Studio从GRPC.proto文件自动生成的代码)
问题描述
我面临一个问题,Visual Studio似乎正在更改.proto文件中对象的外观。
.proto文件:concordium_p2p_rpc.proto
示例-这在.proto文件中:
message BlockHash {
string block_hash = 1;
}
生成项目后,我想创建此对象的一个实例,但是,对象内的属性现在称为";BlockHash_";,而不是.proto文件中的";挡路_哈希&qot;。
如果我尝试将此对象序列化为JSON,则念力已完成.则该属性现在称为";blochHash";.第三个名字。.proto中的SO
{
"block_hash": ""
}
变为C#
BlockHash bh = new BlockHash()
{
BlockHash_: ""
}
然后在序列化时
{
"blockHash": ""
}
那是怎么回事?
推荐答案
好,所以我自己在这篇文章中找到了这个问题的答案。
https://visualstudiomagazine.com/articles/2020/01/06/defining-grpc-messages.aspx
为什么Microsoft决定执行此重命名,而不是只保留名称在.proto文件中的原样,这让我无法理解,显然这会带来一些问题,否则我不会看到这些问题。
发生的情况是,Visual Studio希望成为事物名称的主导者,因此它希望通过使第一个字母大写、删除下划线并使下一个单词的第一个字母也大写来重命名BlockHash对象的属性&挡路_HASH&q;。
但是,由于这是类本身的名称,因此此名称可能有问题,因为类构造函数使用此名称,因此Visual Studio会修复它自己的dodo添加尾部下划线,从而产生名为";BlockHash_";的属性。
为什么哦,你为什么要做这些事情?!.
这篇关于Visual Studio从GRPC.proto文件自动生成的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Visual Studio从GRPC.proto文件自动生成的代码
基础教程推荐
- MS Visual Studio .NET 的替代品 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- 如何激活MC67中的红灯 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01