次の簡単な機能があります。
private static Nullable<T> CastValue<T>(object val)
where T : struct
{
if (!(val is DBNull))
{
return (T) val;
}
return null;
}
次のように、データ テーブルの行/列を反復処理しながら呼び出したいと思います。
var table = CreateTable();
foreach (DataRow row in table.Rows)
{
foreach (DataColumn column in table.Columns)
{
Type type = column.DataType;
CastValue<type>(row[column]);
}
}
ただし、次のエラーが発生します。
型または名前空間名 'type' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)
実行時に決定されるジェネリック パラメータを使用してジェネリック関数を呼び出す方法はありますか?