【发布时间】:2009-07-30 13:26:15
【问题描述】:
有没有一种方法可以查看一个字段是否存在于基于 IDataReader 的对象中,而无需检查 IndexOutOfRangeException?
本质上,我有一个方法,它接受一个基于 IDataReader 的对象并创建一个强类型的记录列表。在一种情况下,一个数据读取器具有其他人没有的字段。如果我不需要的话,我真的不想重写所有提供此方法的查询以包含该字段的某种形式。到目前为止,我能够弄清楚如何做到这一点的唯一方法是将 1 个唯一字段放入 try/catch 块中,如下所示。
try
{
tmp.OptionalField = reader["optionalfield"].ToString();
}
catch (IndexOutOfRangeException ex)
{
//do nothing
}
除了将“可选字段”添加到其他查询或复制加载方法以使 1 个版本使用可选字段而另一个不使用之外,还有更简洁的方法吗?
我也在2.0框架中。
【问题讨论】:
-
我想知道为什么MS没有在DataReader中添加这个功能
标签: c# idatareader