我有以下基于此初始通用函数的函数来处理数据类型转换
public static T ConvertFromDB<T>(object value)
{
return value == DBNull.Value ? default(T) : (T)Convert.ChangeType(value, typeof(T));
}
它工作正常。但是,当传入像 0 这样的双精度时,我得到以下异常;
从 'System.Double' 到 'System.Nullable`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] 的无效转换。
我试过铸造成一个浮点数,但还是一样。任何想法为什么会发生这种情况?