有没有办法在不仅仅检查IndexOutOfRangeException的情况下查看IDataReader对象中是否存在某个字段?
本质上,我有一个方法,它接收一个基于IDataReader的对象并创建记录的强类型列表。在某一情况下,一个数据读取器具有其他数据读取器没有的一个字段。如果不必要,我不想重写提供给该方法的所有查询以包含这个字段的某种形式。到目前为止,我能够想到的唯一方法是将这1个独特的字段放入try/catch块中,如下所示。
try
{
tmp.OptionalField = reader["optionalfield"].ToString();
}
catch (IndexOutOfRangeException ex)
{
//do nothing
}
除了将“可选字段”添加到其他查询或复制加载方法以使用可选字段和不使用可选字段的两个版本之外,是否有更简洁的方式?
我也在2.0框架中。