VB6 Comparaison des objets
Question
Quelle méthode VB6 permet à deux objets personnalisés du même type (défini dans un module de classe) à comparer les uns aux autres? Je pense qu'il ya un équivalent à la méthode compareTo de Java, mais je ne le trouve nulle part.
La solution 2
Pour d'autres qui peut-être sur la même question:
Après avoir fait beaucoup de regarder autour, il semble que VB6 n'a pas de genre de compareTo
intégrés ou méthodes equals
, comme Java.
J'ai oublié que Java, compareTo
est défini dans l'interface java.lang.Comparable
. Étant donné que les interfaces sont tellement brisées dans VB6, même si vous avez écrit votre propre interface Comparable
, vous devez appeler la méthode de Comparable_compareTo
de votre objet, sauf si elle a été déclarée comme Comparable
, ce qui est inutile.
En bout de ligne. Si vous voulez des méthodes de compareTo
ou equals
dans vos classes VB6, il suffit de les mettre en
Autres conseils
Si par "comparer" vous voulez dire "sont-ils du même type?", Vous pouvez vous TypeName fonction:
If (object1 <> Nothing) and (object2 <> Nothing) then
If (TypeName(object1) = TypeName(object2)) Then
Debug.Print "object types are the same"
Else
Debug.Print "object types are NOT the same"
End If
End If
Si par « comparer » vous voulez dire, vous pouvez utiliser le est opérateur « ils font référence au même objet en mémoire? »:
If (object1 Is object2) Then
Debug.Print "objects references are the same"
Else
Debug.Print "objects references are NOT the same"
End If