【发布时间】:2013-08-30 19:47:19
【问题描述】:
我正在定义这段代码:
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);
已经描述了奇怪的结果。
【问题讨论】:
-
你的错误到底是什么?
-
是的,我不明白你认为你的问题是什么。
-
问题在于枚举的定义是这样的,如果我使用这样的函数:'RequestModel(ModelType.W8, Size._4)' 而不是返回正确的值,我得到这个 9问题中提到。