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
Je fais la même chose pour ma liste de membres du groupe AD.
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
J'obtiens donc 2 listes : ListeUtilisateur et ListeMembre, que je veux ensuite comparer ...
et là, je suis bloquée :
Visual studio me renvoie une erreur :
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
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
Partager