c#:我无法将枚举字符串“打印出来”作为我正在输入的字符串(c#: I cann

我在 mod 中工作,无法摘录我的实际代码。这可能是一个很难回答的问题,但我会尝试。这真让我抓狂。

我有两个项目的解决方案,即两个我有一个“静态 void main”的地方。

在项目 A 中,我的编码高级写了这样的内容:

public enum Types

图片[1]-c#:我无法将枚举字符串“打印出来”作为我正在输入的字符串(c#: I cann-唐朝资源网

{ Undefined = 0x00000000, Point = 0x10000000, Airport = 0x10000001,

图片[2]-c#:我无法将枚举字符串“打印出来”作为我正在输入的字符串(c#: I cann-唐朝资源网

Target = 0x10000002, Asset = 0x10000004, FOV = 0x10000008, Waypoint = 0x10000010,

图片[3]-c#:我无法将枚举字符串“打印出来”作为我正在输入的字符串(c#: I cann-唐朝资源网

Reference = 0x10000020 }

在项目“B”中,我可以根据需要实例化对象并为其分配这些类型,当我打印出对象类型时,它会打印相关字符串而不是十六进制数字;这就是我想要的行为,因为我什至不明白为什么所有愚蠢的十六进制都是必要的。

所以,我想添加一个新类型。所以我放在最后:

NewType = 0x10000040

…我随机选择了“40”,因为它似乎是有序的。但是当我在对象上分配并尝试打印它时,它会打印十六进制数字(实际上是相关的十进制数字),而不是字符串“”

图片[4]-c#:我无法将枚举字符串“打印出来”作为我正在输入的字符串(c#: I cann-唐朝资源网

所以,我认为代码中必须有一个查找表或其他东西(尽管在这方面 ENUM 似乎就足够了),但是当我搜索所有代码时,我没有得到任何这些十六进制数字。

然后我想也许我需要先编译项目A。所以我这样做没有问题,然后将启动项目设置为项目 B,在调试中运行项目 B,它仍然打印十六进制数字而不是字符串。

这里还有别的东西。沮丧中,我想,“我并没有真正使用那种 ‘FOV’ 类型,所以如果我只使用 ” 而不是 ‘FOV’ 会怎样”。所以我这样做了,制作了一个新对象并给了它“”,然后当我去打印它时,它没有打印十六进制,但它也没有打印“”。它所做的是打印“FOV”,就好像我从未改变任何东西一样。

我知道这是一个非常糟糕的问题,但这是迄今为止我能做的最好的。有任何想法吗??

© 版权声明
THE END
喜欢就支持一下吧
点赞181赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容