Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vlastnost FilePatternMatch.Stem byla dříve anotována jako nullable, protože PatternTestResult.Stem vlastnost, ze které získá její hodnotu, je nullable.
PatternTestResult I když výsledek skutečně může být null, pokud výsledek není úspěšný, nikdy není, protože je vytvořen pouze tehdy, FilePatternMatch když PatternTestResult je úspěšný.
Aby bylo možné přesně odrážet hodnotu null, [MemberNotNullWhen()] atribut se použije na PatternTestResult.Stem vlastnost, aby kompilátoru řekl, že nebude null, pokud je úspěšný. Kromě toho stem argument předaný do konstruktoru FilePatternMatch již není nullable a ArgumentNullException bude vyvolána, pokud je předána hodnota null stem .
Verze byla představena
.NET 10
Předchozí chování
Dříve konstruktor FilePatternMatch přijímal parametr stemnull bez jakýchkoli upozornění nebo chyb při kompilaci či za běhu.
// Allowed in previous versions.
var match = new FilePatternMatch("path/to/file.txt", null);
Vlastnost FilePatternMatch.Stem byla také označena jako nullable.
Nové chování
Počínaje rozhraním .NET 10 se předáním null nebo případně nulové hodnoty argumentu stem v konstruktoru FilePatternMatch zobrazí upozornění v době kompilace. A pokud je null předán, vyvolá se za běhu výjimka ArgumentNullException.
Vlastnost FilePatternMatch.Stem je nyní označena poznámkami, že hodnota nebude null, pokud IsSuccessful je true.
// Generates compile-time warning.
var match = new FilePatternMatch("path/to/file.txt", null);
Typ zásadní změny
Tato změna může mít vliv na kompatibilitu zdroje a jedná se o změnu chování.
Důvod změny
Předchozí poznámky s hodnotou nullability byly nepřesné a null hodnota argumentu stem byla neočekávaná, ale nebyla správně chráněna. Tato změna odráží očekávané chování rozhraní API a chrání před nepředvídatelným chováním a zároveň vytváří pokyny k návrhu týkající se použití.
Doporučená akce
Pokud byla pro stem argument předána možná hodnota null, zkontrolujte využití a aktualizujte web volání, aby se zajistilo stem , že nelze paTssed in as null.
Pokud jste při používání vlastnosti použili potlačení s možnou FilePatternMatch.Stem hodnotou null, můžete tyto potlačení odebrat.