J'ai essayé d'utiliser la méthode .Find() et j'ai réussi. Mais je ne peux pas comprendre comment travailler avec FindAll pour recevoir tous les éléments correspondant à un mot-clé "flexible" (dans mon cas, ce mot-clé s'appelle ClassGuid).VB.Net comment utiliser .FindAll dans un objet List (of)?
Public Class clsFindConnection
Private Delegate Function ConMatchDelegate(ByVal con As PropertyConnection, ByVal ClassGuid As String) As Boolean
Public Function GetPropertyConnectionsByGuid(ByVal ClassGuid As String, ByVal LBaseConnections As List(Of PropertyConnection)) As List(Of PropertyConnection)
Dim Res As List(Of PropertyConnection)
Dim dl As New ConMatchDelegate(AddressOf ConnectionFromMatch)
Res = LBaseConnections.FindAll(dl)'<-- ERROR. Can not work because delegate is only using a single item.
Return Res
End Function
Friend Function ConnectionFromMatch(ByVal con As PropertyConnection, ByVal ClassGuid As String) As Boolean
If con.PaintPluginFrom Is Nothing Then Return False
If con.PaintPluginFrom.Plugin Is Nothing Then Return False
If con.PaintPluginFrom.Plugin.Guid = ClassGuid Then Return True
Return False
End Function
End Class
Comment cela peut-il être utilisé?
Merci. Et ça fonctionne comme un charme. Mais je ne comprends pas pourquoi. Est-il possible de le réécrire avec plus de description ou avec un délégué au lieu de l'expression lamnda ou avec quelques commentaires dans votre ligne? – Nasenbaer
@Nasenbaer, voir ma réponse éditée –