使用自定义断言函数进行List.Find时遇到了一些麻烦。
我有一个执行此操作的函数。
private function test ()
Dim test As Integer = keys.Find(AddressOf FindByOldKeyAndName).NewKey
这是用于断言的函数。
Private Shared Function FindByOldKeyAndName(ByVal k As KeyObj) As Boolean
If k.OldKey = currentKey.OldKey And k.KeyName = currentKey.KeyName Then
Return True
Else
Return False
End If
End Function
这样做意味着我必须在类中拥有一个共用的 "currentKey" 对象,但我知道必须有一种方法来传递我感兴趣的 CurrentKey 值(即 keyname 和 oldkey)。
理想情况下,我想通过类似以下方式调用它:keys.Find(AddressOf FindByOldKeyAndName(Name,OldVal))
但是当我这样做时,我会遇到编译器错误。
我该如何调用此方法并传入这些值?