我正在定义这段代码:
public enum ModelType {
R4,
W6,
W8,
W9,
X9
}
我在另一个脚本中使用这个函数:
public void RequestModel(ModelType type, Size size) {
Debug.Log("Requesting " + type.ToString() + " at size " + size.ToString());
}
输出结果是:
Requesting 9 at size 4
如果我更改代码
Debug.Log("Requesting " + (int)type + " at size " + size.ToString());
我会得到同样的结果。有人知道发生了什么吗?
我不得不说,我第一次编写枚举时就像:
public enum ModelType {
EX1,
EX2,
EX3,
EX4,
EX5,
EX6,
EX7,
R4,
W6,
W8,
W9,
X9
}
但我摆脱了 EX,因为我不再需要它们。
我还尝试再次添加 EX,并得到了输出:
Requesting W8 at size 4 // if I use ToString()
Requesting 9 at size 4 // to print the enum value
没关系。
我真的不知道该怎么办。我尝试重新导入所有内容,重新启动 Unity 和 Visual Studio,但如果我删除 EXes,则无法正常工作。
有任何想法吗?
编辑:对不起,我忘了在代码中提到我将函数调用为
RequestModel(ModelType.W8, Size._4);
已经描述了奇怪的结果。