Bonjour,

J'ai une class représentant une collection d'objets personnalisés qui hérite de system.collections.arrayList.

Voici l'implémentation de ma collection :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 Public Class JourFeries
    Inherits System.Collections.ArrayList
 
    Public Shadows Sub Add(ByVal aJourFerie As JourFerie)
             MyBase.Add(aJourFerie)
    End Sub
 
    Default Public Shadows ReadOnly Property Item(ByVal index As Integer)
        Get
            Return (CType(MyBase.Item(index), JourFerie))
        End Get
    End Property
J'aimerais tester avant d'ajouter un objet dans ma collection, si ce dernier est déjà présent. J'ai donc fait ca dans ma méthode Add :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    Public Shadows Sub Add(ByVal aJourFerie As JourFerie)
        If MyBase.Contains(aJourFerie) = False Then
            MyBase.Add(aJourFerie)
        Else
            Throw New Exception("Le jour férié : " & aJourFerie.DateDuJour.ToShortDateString & " est déjà déclaré")
        End If
    End Sub
La fonction "Contains" testant si l'instance de mon object est déjà dans la collection ben ca marche pas vu que mon objet est une nouvelle instance

En fait j'aimerais que "Contains" teste si obj1.text = obj2.text par exemple.

Je peut bien entendu parcourir ma collection et tester 1 a 1 tous mes objets avant d'ajouter le nouveau, mais n'y a t'il pas un autre moyen ?

D'avance merçi