我有一个枚举类型,包含4个值:
public enum DriveRates
{
driveSidereal = 0,
driveLunar = 1,
driveSolar = 2,
driveKing = 3
}
我有一个值数组,我想将其转换为DriveRates数组。然而,当我执行
var rates = (DriveRates[])ret;
时,其中ret
是一个数字(可能是整数)的对象数组,它会显示无法将类型为“System.Object []”的对象强制转换为类型“ASCOM.DeviceInterface.DriveRates []”。
ret
={0,1,2,3}
。我应该怎么做呢?再次说明,我正在尝试将枚举值数组转换为枚举值数组 :) 但我要从类型object[]
转换为类型DriveRates[]
。
is
和as
运算符也可能会混淆枚举数组的类型,请参见https://dev59.com/zHRB5IYBdhLWcg3w6LR2#21186137中的最后一段代码片段 - 所有三个检查都显示“true”,而.GetType()
当然不是。 - quetzalcoatl