1
在monodroid中,我有一个返回Java.Lang.Enum对象的java绑定。如何将Java.Lang.Enum转换为整数?
当我尝试将此对象转换为int时,它会抛出。
System.InvalidCastException: Cannot cast from source type to destination type.
这是我得到的调试器的即时窗口:
state
{OPENING}
base: {Java.Lang.Enum}
IsClosed: false
IsOpened: false
ThresholdClass: 0x1d200832
ThresholdType: {System.MonoType}
我很惊讶的是,一个枚举不能转换成一个int?
在其他语言中使用整数常量的情况下,通常可以在Java中使用枚举而不进行任何转换。值得花2-3个小时来看看基本的枚举教程,看看你可以用它们做的基本事情。 – arcy 2013-04-05 18:53:07
我同意。如果可能,请避免引用Enum常量的序数位置。 (遗憾的是,我对Monodroid一无所知,所以我不知道如何使用Java模式。) – Bobulous 2013-04-05 18:54:50
@Arkanon:我期望枚举序列是0索引的,所以'Cat.ordinal()'将是'0','Fish.ordinal()'将是'2'。 – 2013-04-05 21:19:06