DataType Conversion を処理するために、この初期ジェネリック関数に基づいた次の関数があります。
public static T ConvertFromDB<T>(object value)
{
return value == DBNull.Value ? default(T) : (T)Convert.ChangeType(value, typeof(T));
}
それは正常に動作します。ただし、0 のような double を渡すと、次の例外が発生します。
「System.Double」から「System.Nullable`1[[System.Double, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]」へのキャストが無効です。
フロートとしてキャストしようとしましたが、それでも同じです。なぜこれが起こっているのですか?