Unity protobuf中repeated转C#文件List只读问题

编程入门 行业动态 更新时间:2024-10-19 21:32:20

Unity protobuf中repeated转C#<a href=https://www.elefans.com/category/jswz/34/1771438.html style=文件List只读问题"/>

Unity protobuf中repeated转C#文件List只读问题

Unity protobuf中repeated转C#文件List只读问题

  • 介绍
  • 问题
  • 解决方案
  • 总结

介绍

工具这里我就不多介绍了,如果有用到ProtoGen工具的可以继续看一下我后面的方法。

问题

如下图所示,我这里随便用了一个.proto文件,看下我这里面的repeated标记的字段,然后在对比我下面对应的C#文件发现是只读的不能赋值。

对应的C#文件如下图所示

对比了一下发现这个repeated标记的数组生成的C#文件对应的字段是只读的,没有Set属性,那么出现这种情况的原因只能是因为生成的文件强制生成的是只读属性而不是可读可写的属性。

解决方案

顺着先找到我们刚才运行的.Bat命令文件,找到将.proto文件转成C#文件时使用的工具是什么。

从上面的这个文件中能看出来,我们实际上运行的是ProtoGen里面的一个可执行文件。

找到下面文件夹中的生成C#的配置文件如下图,双击打开

Ctrl + F搜索一下LABEL_REPEATED找到对应的位置

修改文件如下,删除画红框的这段 <xsl:if test=“not($optionXml)”>readonly</xsl:if>

修改文件如下,在删除掉画红框部分

都修改完结果如下所示

保存文件退出 然后重新生成文件尝试一下

总结

这个其实就是文件中的配置默认生成的list是私有且只有get属性的,修改生成的配置文件即可解决这个问题。

更多推荐

Unity protobuf中repeated转C#文件List只读问题

本文发布于:2023-12-04 01:29:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1659358.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:文件   protobuf   Unity   List   repeated

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!