c# - 如何获得枚举数作为常量?

标签 c# unity3d enums constants

来自 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/

相关文章:

c# - 安全异常

unity3d - 通过 Unity 中的 Oculus 应用程序登录 Google 和 Facebook

c# - 带枚举的数据绑定(bind) DatagridviewComboboxColumn

c# - 使用 SimpleInjector 动态选择具有名称的具体对象

c# - html 标签的 EnableViewState

c# - 在 Unity 着色器中避免字符串属性

c# - 如何将 blender 中的所有 Action (动画)导出到文件中。 fbx?

objective-c - 为什么 typedef 与枚举类型一起使用?

python - Python 中基于字符串的枚举

javascript - 如何测量javascript中的字体指标?是否有任何 API 可用于 C# 中的 GetCellDescent 等文本指标?