Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Regel-ID |
DA0006 |
Kategorie (Category) |
.NET Framework-Verwendung |
Profilerstellungsmethoden |
Sampling |
Meldung |
Equals und Gleichheitsoperator in Werttypen überschreiben |
Meldungstyp |
Warnung |
Ursache
Aufrufe der Equals-Methode oder der Gleichheitsoperatoren eines öffentlichen Werttyps machen einen großen Teil der Profilerstellungsdaten aus.Implementieren Sie ggf. eine effizientere Methode.
Regelbeschreibung
Bei Werttypen wird die System.Reflection-Bibliothek von der geerbten Implementierung von Equals verwendet, und der Inhalt aller Felder wird verglichen.Reflection ist rechenintensiv, und das Überprüfen eines jeden Felds auf Gleichheit ist eventuell unnötig.Wenn Sie erwarten, dass die Benutzer Instanzen vergleichen oder sortieren bzw. dass sie diese als Schlüssel für Hashtabellen verwenden, sollte der Werttyp Equals implementieren.Wenn die Programmiersprache das Überladen von Operatoren unterstützt, sollten Sie außerdem eine Implementierung der Gleichheits- und Ungleichheitsoperatoren bereitstellen.
Weitere Informationen dazu, wie und Equals der Gleichheitsoperatoren, finden Sie überschreibt Richtlinien für die Implementierung von Equals verwendet und der Gleichheitsoperator (==).
Vorgehensweise bei der Überprüfung einer Warnung
Ein Beispiel zum Implementieren der Equals- und Gleichheitsoperatoren finden Sie in der Codeanalyseregel CA1815: Equals und Gleichheitsoperator für Werttypen überschreiben.