【发布时间】:2016-07-25 18:30:18
【问题描述】:
来自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时应该小心,因为在编译时需要该值,并且编译时的值将在所有引用的程序集中传播。是否可以改为使用只读? -
@JoeBlow 这是开发者可以在游戏测试中摆动一个数字的范围。它用于编辑引擎,以便在运行之前和运行期间对代码进行更改。
-
啊,你的意思是 EDITOR INSPECTOR 属性!很像 [Header("Hi there")]。不,你绝对不能以任何方式改变它。
-
大声笑老兄,您尝试做的事情的解决方案非常简单。我会回答的
标签: c# unity3d enums constants