Это неверно: typeof (double) .IsAssignableFrom (typeof (int))
Это неверно: typeof (int) .IsAssignableFrom (typeof (double))
Но это работает:
double a = 1.0;
int b = 1;
a = b;
Очевидно, что double
присваивается из int
, но framework IsAssignableFrom ()
ошибается.
Почему? или это ошибка в .NET, вызванная особой природой int и double, которые не имеют отношения наследования, но могут быть присвоены (в одном направлении)?