J'ai une class nommée "Variable" avec 2 propriétés "Name" et "Value" ainsi
que la classe suivante pour gérer une collection de Variable:
Public Class ColVariables
Inherits CollectionBase
Default Public Property Item(ByVal index As Integer) As Variable
Get
Return CType(List(index), Variable)
End Get
Set(ByVal Value As Variable)
List(index) = Value
End Set
End Property
Public Function Add(ByVal value As Variable) As Integer
Return List.Add(value)
End Function 'Add
Public Function IndexOf(ByVal value As Variable) As Integer
Return List.IndexOf(value)
End Function 'IndexOf
...........................
Ma collection est construite avec:
Dim ColVar as New ColVariables
ColVar.Add(New Variable(Name, Value)
Je cherche à retouver un élément de cette collection, mais le code suivant
me renvoit toujours -1
Dim var As New Variable(Name, Value)
Dim idx As Integer
idx = ColVar.IndexOf(var)
Idx is always -1
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Lionel Barré [MS]
Indexof vous renvoie -1 car l'objet n'est jamais trouvé en effet il recherche la même instance de l'objet et non la valeur de l'objet.
Cordialment Lionel Barré
"Bernard Bourée" a écrit :
J'ai une class nommée "Variable" avec 2 propriétés "Name" et "Value" ainsi que la classe suivante pour gérer une collection de Variable:
Public Class ColVariables Inherits CollectionBase Default Public Property Item(ByVal index As Integer) As Variable Get Return CType(List(index), Variable) End Get Set(ByVal Value As Variable) List(index) = Value End Set End Property Public Function Add(ByVal value As Variable) As Integer Return List.Add(value) End Function 'Add Public Function IndexOf(ByVal value As Variable) As Integer Return List.IndexOf(value) End Function 'IndexOf ............................
Ma collection est construite avec:
Dim ColVar as New ColVariables ColVar.Add(New Variable(Name, Value)
Je cherche à retouver un élément de cette collection, mais le code suivant me renvoit toujours -1
Dim var As New Variable(Name, Value) Dim idx As Integer idx = ColVar.IndexOf(var) Idx is always -1
Où est l'erreur ?
-- Bernard Bourée
Indexof vous renvoie -1 car l'objet n'est jamais trouvé en effet il recherche
la même instance de l'objet et non la valeur de l'objet.
Cordialment
Lionel Barré
"Bernard Bourée" a écrit :
J'ai une class nommée "Variable" avec 2 propriétés "Name" et "Value" ainsi
que la classe suivante pour gérer une collection de Variable:
Public Class ColVariables
Inherits CollectionBase
Default Public Property Item(ByVal index As Integer) As Variable
Get
Return CType(List(index), Variable)
End Get
Set(ByVal Value As Variable)
List(index) = Value
End Set
End Property
Public Function Add(ByVal value As Variable) As Integer
Return List.Add(value)
End Function 'Add
Public Function IndexOf(ByVal value As Variable) As Integer
Return List.IndexOf(value)
End Function 'IndexOf
............................
Ma collection est construite avec:
Dim ColVar as New ColVariables
ColVar.Add(New Variable(Name, Value)
Je cherche à retouver un élément de cette collection, mais le code suivant
me renvoit toujours -1
Dim var As New Variable(Name, Value)
Dim idx As Integer
idx = ColVar.IndexOf(var)
Idx is always -1
Indexof vous renvoie -1 car l'objet n'est jamais trouvé en effet il recherche la même instance de l'objet et non la valeur de l'objet.
Cordialment Lionel Barré
"Bernard Bourée" a écrit :
J'ai une class nommée "Variable" avec 2 propriétés "Name" et "Value" ainsi que la classe suivante pour gérer une collection de Variable:
Public Class ColVariables Inherits CollectionBase Default Public Property Item(ByVal index As Integer) As Variable Get Return CType(List(index), Variable) End Get Set(ByVal Value As Variable) List(index) = Value End Set End Property Public Function Add(ByVal value As Variable) As Integer Return List.Add(value) End Function 'Add Public Function IndexOf(ByVal value As Variable) As Integer Return List.IndexOf(value) End Function 'IndexOf ............................
Ma collection est construite avec:
Dim ColVar as New ColVariables ColVar.Add(New Variable(Name, Value)
Je cherche à retouver un élément de cette collection, mais le code suivant me renvoit toujours -1
Dim var As New Variable(Name, Value) Dim idx As Integer idx = ColVar.IndexOf(var) Idx is always -1