来自 Total number of items defined in an enum ,我看到我可以通过使用获得枚举的数量:
Enum.GetNames(typeof(Item.Type)).Length;
效果很好!
但是,我需要这个数字作为一个常数,这样我就可以在 Unity 的 [Range(int, int)]
功能中使用它。
private const int constEnumCount = Enum.GetNames(typeof(Item.Type)).Length;
以上不起作用,因为枚举计数不是常量,所以我不能将其分配给常量变量。
如何获取枚举数作为常量?
最佳答案
获取枚举数作为const
是不可能的。 Enum.GetNames
使用反射来获取这些东西,这本质上是一个运行时操作。因此,它无法在编译时获知,这是 const
的要求。
关于c# - 如何获得枚举数作为常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36432747/