Bonjour,

Je suis débutante en VB.Net, et je voudrais comparer 2 listes.
Je dois comparer une liste d'utilisateur récupérée dans une base de données, à une liste de membre d'un groupe AD, et supprimer dans le groupe AD, ceux que je ne trouve pas dans ma liste BDD, et ajouter dans le groupe AD, ceux qui existent dans la liste BDD, mais pas dans le groupe AD.

J'ai crée une classe Utilisateur, qui a comme propriété, entres autres : login

Je crée une liste d'objets Utilisateur, dans laquelle je stocke les utilisateurs issus de la BDD

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Dim ListeUtilisateur As List(Of Utilisateur) = New List(Of Utilisateur)
DRUser = PROXYBDDuser.PS_S_ListeColAffecteParAnnonceur(DR("ANN_DEP_ID"))
While DRUser.Read
          Dim utl As Utilisateur = New Utilisateur
          utl.Login = LCase(DRUser("COL_LOGIN"))
          utl.Restreint = DRUser("ACC_ARB_CADRE_CONTRACTUEL")
          utl.DomaineNtUser = LCase(DOMAINENTUSER)
          utl.DN = objLdap.getDistinguishedNameUser(utl.Login)
          ListeUtilisateur.Add(utl)
End While
Je fais la même chose pour ma liste de membres du groupe AD.
J'obtiens donc 2 listes : ListeUtilisateur et ListeMembre, que je veux ensuite comparer ...
et là, je suis bloquée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 For Each utl As Utilisateur In ListeUtilisateur
                        If Not (ListeMembre.Find(AddressOf ParLogin)) Then
                            MsgBox("Ajoute personne dans le groupeAD" & utl.Login)
                        End If
                    Next
 
 
Public Function ParLogin(ByVal utl As Utilisateur, ByVal mbr As Utilisateur) As Boolean
        If utl.Login = acc.Login Then Return True Else Return False
    End Function
 
Delegate Function CompareLogin(ByVal utl As Utilisateur, ByVal accAs Utilisateur) As Boolean
Visual studio me renvoie une erreur :
La méthode 'Public Function ParLogin(utl As Traitement_Arborescence.Utilisateur, acc As Traitement_Arborescence.Utilisateur) As Boolean' n'a pas la même signature que le délégué 'Delegate Function Predicate(Of T)(obj As Utilisateur) As Boolean'.

Merci à tous pour votre aide