我想创建一个可用于包含数据库表中项目的泛型类
如下
Public Class RowCache(Of t)
Private items As New List(Of t)
Public Sub AddItem(item As t)
Me.items.Add(item)
End Sub
Public Function find(Filter As ?????) As t
????
End Function
End Class
Public Class useit
Public Sub test()
Dim ob As New RowCache(Of teamrow)
ob.find(func(rec) rec.teamcode)
Dim ob2 As New RowCache(Of employeerow)
ob2.find(func(rec) rec.employeeno)
End Sub
End Class
是否可以创建find方法,如果可以,如何完成
参数列表中的内容
如何在查找功能中使用它
答案 0 :(得分:0)
您可以将lambda传递给find函数,如果找到该项,则返回true。您可以将其与Linq的SingleOrDefault结合使用,以查找已过滤的单个项目。
Public Function find(filter As Func(Of t, Boolean)) As t
Return Me.items.SingleOrDefault(filter)
End Function
然后你可以像这样使用它:
Dim result = ob.find(Function(rec) rec.teamcode = 1)