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.
Die .NET-Codeanalyseregel CA2013 ist standardmäßig ab .NET 5 aktiviert. Es erzeugt eine Buildwarnung für jeden Code, in dem ReferenceEquals(Object, Object) verwendet wird, um ein oder mehrere Werttypen auf Gleichheit zu überprüfen.
Änderungsbeschreibung
Ab .NET 5 enthält das .NET SDK .NET Source Code Analyzers. Einige dieser Regeln sind standardmäßig aktiviert, einschließlich CA2013. Wenn Ihr Projekt Code enthält, der gegen diese Regel verstößt und für die Behandlung von Warnungen als Fehler konfiguriert ist, kann diese Änderung ihren Build unterbrechen.
Die Regel CA2013 ermittelt Instanzen, bei denen ReferenceEquals(Object, Object) verwendet wird, um einen oder mehrere Werttypen auf Gleichheit zu überprüfen. Das Überprüfen von Werttypen auf Gleichheit auf diese Weise kann zu falschen Ergebnissen führen, da die Werte vor dem Vergleich geschachtelt werden. ReferenceEquals(Object, Object) gibt auch dann zurück false
, wenn die verglichenen Werte dieselbe Instanz eines Werttyps darstellen.
Eingeführte Version
5.0
Empfohlene Aktion
Ändern Sie den Code, damit ein entsprechender Gleichheitsoperator verwendet wird, z. B.
==
. Sie sollten diese Warnung nicht unterdrücken.Um die Codeanalyse vollständig zu deaktivieren, legen Sie `
EnableNETAnalyzers
` auf `false
` in Ihrer Projektdatei fest. Weitere Informationen finden Sie unter EnableNETAnalyzers.