<分区>
有没有办法在不检查 IndexOutOfRangeException 的情况下查看字段是否存在于基于 IDataReader 的对象中?
本质上,我有一个方法采用基于 IDataReader 的对象并创建一个强类型记录列表。在 1 个实例中,一个数据阅读器具有其他人没有的字段。如果不需要的话,我真的不想重写提供给该方法的所有查询以包括该字段的某种形式。到目前为止,我能够弄清楚如何做到这一点的唯一方法是将 1 个唯一字段放入 try/catch block 中,如下所示。
try
{
tmp.OptionalField = reader["optionalfield"].ToString();
}
catch (IndexOutOfRangeException ex)
{
//do nothing
}
除了将“可选字段”添加到其他查询或复制加载方法之外,是否有更简洁的方法让一个版本使用可选字段而另一个版本不使用?
我也在2.0框架中。