假设我有一个枚举
[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转换为枚举,以同样的方式?