これらの拡張メソッドはDataRow
に関連する - 即ちDataTable
... ないIDataReader
(ETC)。
double? val = reader.IsDBNull(index) ? (double?) null : reader.GetDouble(index);
long? vol = reader.IsDBNull(index) ? (long?)null : reader.GetInt64(index);
あなたはもちろんIDataReader
に独自のカスタム拡張メソッドとして、おそらく、ユーティリティメソッドとしてそれらを包むことができ:C#でVBでIIf
を、または - あなたはしかし、あなたが条件で、ここでやりたいことができます
public static class DataReaderExtensions
{
public static int? ReadNullableInt32(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? (int?)null : reader.GetInt32(index);
}
public static long? ReadNullableInt64(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? (long?)null : reader.GetInt64(index);
}
public static double? ReadNullableDouble(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? (double?)null : reader.GetDouble(index);
}
public static string ReadNullableString(this IDataReader reader, int index)
{
return reader.IsDBNull(index) ? null : reader.GetString(index);
}
// etc
}
(例については、C#を使用して申し訳ありません - しかし、私は正確 vb.net書くことができるよりも、あなたはおそらくC#の良く読むことができます)
感謝を - 非常に明確。 – Yugmorf