如何将枚举数作为常量?

Evo*_*lor 7 c# enums const constants unity-game-engine

枚举中定义的项目总数来看,我看到我可以通过以下方式获取枚举数量:

Enum.GetNames(typeof(Item.Type)).Length;
Run Code Online (Sandbox Code Playgroud)

效果很好!

但是,我需要将此数字作为常数,以便我可以在Unity的[Range(int, int)]功能中使用它.

private const int constEnumCount = Enum.GetNames(typeof(Item.Type)).Length;
Run Code Online (Sandbox Code Playgroud)

以上不起作用,因为枚举计数不是常数,所以我不能将它分配给常量变量.

如何将枚举数作为常量?

Alm*_*lmo 10

不可能将枚举数量作为一个const.Enum.GetNames使用反射来获取这些东西,这本身就是一个运行时操作.因此,在编译时不能知道,这是存在的要求const.