うさぎの穴に落ちてしまったようです。ADO .NET データセットのデータを Nullable 型に変換したいと考えています。最初は、ストレート キャスト (int?) でできると思っていました。私はどれほど素朴でしたか。間違っている、ひどく間違っている。現在、汎用コンバーターを作成しようとしていますが、構文に引っかかっています。これは 2005 年のことです。誰かがこの問題をすでに解決しているに違いありません。ありますか?
ハングアップは、コンバーターの制約として Nullable 型を使用しようとすると、構文エラーが発生することです。
public class NullableDBConversion
{
public static T Convert<T>(object testValue) where T : Nullable<T>
{
if (testValue is DBNull)
{
return new Nullable<T>();
}
return new Nullable<T>((T)testValue);
}
}
目標には、ジェネリックを使用してすべての変換を行う単一のメソッドがあります。これは可能ですか、それともいくつか書く必要がありますか。