Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A FilePatternMatch.Stem propriedade foi anteriormente anotada como anulável porque a PatternTestResult.Stem propriedade da qual obtém seu valor é anulável. Embora o PatternTestResult pode realmente ser nulo se o resultado não for bem-sucedido, o FilePatternMatch nunca é porque só é construído quando PatternTestResult é bem-sucedido.
Para refletir com precisão a anulabilidade, o [MemberNotNullWhen()] atributo é aplicado à PatternTestResult.Stem propriedade para dizer ao compilador que ele não será nulo se for bem-sucedido. Além disso, o stem argumento passado para o FilePatternMatch construtor não é mais anulável, e um ArgumentNullException será lançado se um nulo stem for passado.
Versão introduzida
.NET 10
Comportamento anterior
Anteriormente, o FilePatternMatch construtor aceitava null para o stem parâmetro sem quaisquer avisos ou erros durante o tempo de compilação ou tempo de execução.
// Allowed in previous versions.
var match = new FilePatternMatch("path/to/file.txt", null);
O FilePatternMatch.Stem imóvel também foi anotado como anulável.
Novo comportamento
A partir do .NET 10, passar um null valor ou possivelmente nulo para o stem argumento no FilePatternMatch construtor produz um aviso em tempo de compilação. E, se null for passada, é lançado um tempo ArgumentNullException de execução.
A FilePatternMatch.Stem propriedade agora é anotada para indicar que o valor não será nulo se IsSuccessful for true.
// Generates compile-time warning.
var match = new FilePatternMatch("path/to/file.txt", null);
Tipo de mudança disruptiva
Essa alteração pode afetar a compatibilidade da fonte e é uma mudança comportamental.
Motivo da mudança
As anotações de anulabilidade anteriores eram imprecisas e um null valor para o stem argumento era inesperado, mas não devidamente protegido. Essa alteração reflete o comportamento esperado da API e protege contra comportamentos imprevisíveis, ao mesmo tempo em que produz orientação em tempo de design em torno do uso.
Ação recomendada
Se um valor possivelmente nulo foi passado para o argumento, revise o stem uso e atualize o site de chamada para garantir que stem não possa ser paTssed como null.
Se você aplicou supressões de aviso de anulabilidade ao consumir a FilePatternMatch.Stem propriedade, poderá removê-las.