【发布时间】:2011-10-05 19:53:56
【问题描述】:
目前,我正在使用一个加载了简单数据库“选择”查询的SqlDataReader。每行代表一个域对象,所以我像这样膨胀每个对象:
Dim loadedItems As New List(Of Item)
Dim dr As SqlDataReader = GetItemsDataReader()
While dr.Read()
Dim item As Item = GetItemFromData(dr)
loadedItems.Add(item)
End While
我写的GetItemFromData 方法看起来像这样:
Private Function GetItemFromData(dr As SqlDataReader) As Item
Dim loadedItem As New Item()
loadedItem.ID = dr("ID")
loadedItem.Name = dr("Name")
'etc., etc.'
Return loadedItem
End Function
在某些情况下,我必须从DataRow 而不是SqlDataReader 读取数据。但代码将完全相同!当我查看我的GetItemFromData 方法时,我想在dr 参数中接受更通用的对象类型,这样我就可以将DataReader 与DataRow 一样对待,因为我将编写确切的如果我编写了一个打算使用DataRow 的方法,那么方法中的相同代码。有没有办法做到这一点?
【问题讨论】:
标签: .net datareader datarow