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.

Était-ce utile?

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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top