Comparer 2 objets contenant des valeurs identiques

Résolu
_Fabien Messages postés 119 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 28 avril 2008 - 17 avril 2008 à 17:19
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 - 18 avril 2008 à 13:59
Bonjour,
Voici le code puis viendra la question :

' personne = (nom, prénom, âge)
dim objPersonne1 = new personne ("NAPHAR", "Henri", 34)
dim objPersonne2 = new personne ("NAPHAR", "Henri", 34)

J'aimerais savoir si il existe une commande qui puisse vérifier si les 2 objets ont les mêmes valeurs et non les mêmes références.

j'ai bien testé 3 trucs sans y croire :
1) if objPersonne1 is objPersonne2 --> false
2) msgbox(Equals (objPersonne1,objPersonne2)) --> renvoie false
3) msgbox(ReferenceEquals (objPersonne1,objPersonne2)) --> renvoie false

Et ça c'est bien confirmé : seules les références (adresses) sont comparées

D'avance, merci.
_____________________________________________________________
Coder et coder sont 2 choses différentes. La 1ère consiste à arriver au but coûte que coûte. La 2nde est de trouver la solution de manière élégante.

4 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
17 avril 2008 à 17:50
Salut juste une idée en passant.
Tu pourais copier la valeur de la mémoire (en utilisant l'API copymemory) dans un type string (ATTENTION de définir la taille de ce string avant la copie) et comparer les deux string. Si elle sont égale c'est que les valeurs en mémoire sont identique.
Aucune idée si sa fonctionnera réellement mais je pense qu'il y à possibilité de faire un truc du genre

Amicalement
Pensez "Réponse acceptée"
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
17 avril 2008 à 18:13
Salut,
En .NET il me semble qu'il est possible de surcharger l'opérateur =   non?
pour te permettre du coup de faire ce que tu souhaites.

<hr size ="2" width="100%" />@+: Ju£i?n
Pensez: Réponse
3
_Fabien Messages postés 119 Date d'inscription vendredi 17 novembre 2006 Statut Membre Dernière intervention 28 avril 2008
18 avril 2008 à 09:13
Merci vous 2. J'aurais du penser que, comme chaque objet est différent, une méthode générique n'eu été pas possible.

_____________________________________________________________
Coder et coder sont 2 choses différentes. La 1ère consiste à arriver au but coûte que coûte. La 2nde est de trouver la solution de manière élégante.
0
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
18 avril 2008 à 13:59
Bonjour

Possibilité de surcharger Equals aussi.

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
Rejoignez-nous