Type t = typeof(int?); //will get this dynamically
object val = 5; //will get this dynamically
object nVal = Convert.ChangeType(val, t);//getting exception here
Я получаю InvalidCastException в приведенном выше коде. Для выше я мог просто написать int? nVal = val
, но над кодом выполняется динамически.
Я получаю значение (типа non-nullable типа int, float и т.д.), завернутое в объект (здесь val), и мне нужно сохранить его на другой объект, переведя его на другой тип (который может или не может может быть его нулевой версией). Когда
Недопустимый листинг с 'System.Int32' на 'System.Nullable`1 [[System.Int32, mscorlib, Версия = 4.0.0.0, Культура = нейтральная, PublicKeyToken = b77a5c561934e089]].
An int
, должен быть кабриолет/тип-castable до nullable int
, в чем проблема?