Ich frage mich, ob es einen guten Grund gibt ScriptReference
nicht zu überschreiben Equals
. Es würde sicherlich das Leben in ScriptReferenceCollection
s einfacher machen (z.B. Contains
), würde es nicht?Warum überschreibt ScriptReference nicht Equals?
Antwort
Es hat zu viele Eigenschaften, die variieren können, um es möglich zu machen, irgendeine Form der wertebasierten Gleichheit zu verwenden.
Beachten Sie auch, dass es nicht versiegelt ist, daher können seine Untertypen weitere Eigenschaften einführen, die jeden vorhandenen Gleichheitscode ungültig machen und damit die Gleichheitsprüfung noch komplexer machen würden.
Meine Vermutung ist entweder das Framework-Team vergessen, was unwahrscheinlich ist, könnte aber auftreten. Oder sie haben einfach keine Notwendigkeit gesehen, normalerweise mit Referenzobjekten, die die Equals-Methode nicht überschreiben, es sei denn, Sie verwenden eine Art von Entitätsobjekt, das einen Vergleich zwischen verschiedenen Referenzen, z. B. einer Zeichenfolge oder einem Uri, erwartet. Zugegeben, es wäre einfach gewesen, dies zu implementieren, da es nur zwei Werte benötigt. Also, um ehrlich zu sein, ich weiß nicht warum.
- 1. Warum AbstractCollection nicht equals() implementiert?
- 2. Warum überschreibt file_put_contents nicht?
- 3. Warum findet meine ScriptReference die eingebettete Ressource nicht?
- 4. Warum wird meine Equals-Methode nicht aufgerufen?
- 5. Warum funktioniert list.get (0) .equals (null) nicht?
- 6. Warum überschreibt ArrayList nicht gleich() für bessere Leistung?
- 7. Warum überschreibt web.config MetaBase.xml?
- 8. Warum überschreibt Python nicht-null-Arrays?
- 9. Warum überschreibt explizites COLLATE die Datenbanksortierung nicht?
- 10. Java HashMap.containsKey() ruft nicht equals()
- 11. Wie ScriptReference und Nuget ordnungsgemäß verwendet werden
- 12. Warum wurde Equals() und == anders entworfen?
- 13. Warum funktionieren == und .equals in Java nicht mit Bytearrays?
- 14. Welchen Teil des equals() Generalvertrags erfüllt mein equals() nicht
- 15. Overriding Equals-Methode funktioniert nicht
- 16. HandleUnauthorizedRequest überschreibt nicht
- 17. Warum überschreibt meine benutzerdefinierte 'actionBarTabStyle' den Standardstil/das Standarddesign nicht?
- 18. Warum überschreibt Gradle nicht Java-Klassen in verschiedenen Android-Varianten?
- 19. Warum überschreibt meine ID nicht die Bootstrap-Klasse?
- 20. Warum Android Studio-Eingabeaufforderung "Methode überschreibt nicht seine Superklasse"?
- 21. Warum überschreibt dieses css dieses andere?
- 22. Warum ScrollViewer die Rasterzeilenhöhe in WPF überschreibt?
- 23. XCode Warnung: 'NSString' reagieren nicht auf '-equals:'
- 24. WPF intern: Warum überschreibt UserControl AdjustBranchSource?
- 25. Warum überschreibt sympy "__new__" statt "__init__"?
- 26. Warum StackLayouts BackgroundColor überschreibt Etikettenfarbe? Hier
- 27. Der Mongoid-Standardbereich überschreibt den Standardwert. Warum?
- 28. Warum überschreibt Dictionary.Add alle Elemente in meinem Wörterbuch?
- 29. equals (...) und equalsIgnoreCase (...)
- 30. Weird Int64.Equals Verhalten