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 FilePatternMatch.Stem Eigenschaft wurde zuvor als NULL-Werte gekennzeichnet, da die Eigenschaft, aus der PatternTestResult.Stem er seinen Wert abruft, nullable ist. Obwohl dies PatternTestResult tatsächlich null sein kann, wenn das Ergebnis nicht erfolgreich ist, liegt dies FilePatternMatch nie daran, dass sie nur erstellt wird, wenn PatternTestResult dies erfolgreich ist.
Um die Nullbarkeit korrekt widerzuspiegeln, wird das [MemberNotNullWhen()] Attribut auf die PatternTestResult.Stem Eigenschaft angewendet, um dem Compiler mitzuteilen, dass es nicht null ist, wenn es erfolgreich ist. Darüber hinaus kann das stem an den FilePatternMatch Konstruktor übergebene Argument nicht mehr null sein, und ein ArgumentNullException Argument wird ausgelöst, wenn ein Null stem übergeben wird.
Eingeführt in Version
.NET 10
Vorheriges Verhalten
Zuvor akzeptierte der FilePatternMatch-Konstruktor den null-Parameter ohne jegliche Kompilierungszeit- oder Laufzeitwarnungen oder -fehlerstem.
// Allowed in previous versions.
var match = new FilePatternMatch("path/to/file.txt", null);
Die FilePatternMatch.Stem Eigenschaft wurde auch als Nullwerte gekennzeichnet.
Neues Verhalten
Ab .NET 10 führt das Übergeben eines null oder möglicherweise null-Werts an das stem Argument im FilePatternMatch Konstruktor zu einer Kompilierungszeitwarnung. Und wenn null übergeben wird, wird eine Laufzeit-ArgumentNullException geworfen.
Die FilePatternMatch.Stem Eigenschaft wird nun mit Anmerkungen versehen, um anzugeben, dass der Wert bei Bedarf IsSuccessfulnicht null true ist.
// Generates compile-time warning.
var match = new FilePatternMatch("path/to/file.txt", null);
Art der einschneidenden Änderung
Diese Änderung kann sich auf die Quellkompatibilität auswirken und ist eine Verhaltensänderung.
Grund für Änderung
Die vorherigen Nullbarkeitsanmerkungen waren ungenau, und ein null Wert für das stem Argument war unerwartet, aber nicht ordnungsgemäß geschützt. Diese Änderung spiegelt das erwartete Verhalten der API wider und schützt vor unvorhersehbaren Verhaltensweisen und erzeugt gleichzeitig Entwurfszeitanleitungen zur Verwendung.
Empfohlene Aktion
Wenn ein möglicherweise NULL-Wert für das stem Argument übergeben wurde, überprüfen Sie die Verwendung, und aktualisieren Sie die Aufrufwebsite, um sicherzustellen, dass stem keine PaTs als null.
Wenn Sie Warnungen zur Nullierbarkeit beim Verbrauch der FilePatternMatch.Stem Eigenschaft angewendet haben, können Sie diese Unterdrückungen entfernen.