假设我有一个枚举
[Flags]
public enum E {
zero = 0,
one = 1
}
然后我就可以写了
E e;
object o = 1;
e = (E) o;
它会起作用。
但是如果我尝试在运行时这样做,比如
(o as IConvertible).ToType(typeof(E), null)
它将抛出 InvalidCastException。
那么,有什么我可以在运行时调用的东西,它会从 int32 转换为枚举,就像我上面写的强制转换一样?
最佳答案
object o = 1;
object z = Enum.ToObject(typeof(E), o);
关于c# - c# 'bracketed' 类型转换的运行时等效项是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/345506/