предположим, у меня есть перечисление
[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 в enum, так же, как если бы я написал приведение, как указано выше?