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.
No .NET 9, uma alteração significativa no recurso params Span<T> lang cria ambiguidade com os operadores implícitos de StringValues. Esta alteração resulta no compilador lançar o erro CS0121 quando encontra chamadas de métodos ambíguas.
Comportamento anterior
As APIs mencionadas na seção APIs afetadas, do, não tinham anteriormente sobrecargas ambíguas com os operadores implícitos de StringValues. Como resultado, o compilador resolveria as sobrecargas sem problemas.
Novo comportamento
O compilador lança CS0121 de erro ao encontrar essas sobrecargas ambíguas, resultando no seguinte erro:
CS0121: The call is ambiguous between the following methods or properties: 'Program.Join(string, params string[])' and 'Program.Join(string, params ReadOnlySpan<string>)'
Versão introduzida
.NET 9
Tipo de alteração disruptiva
Esta alteração é uma alteração de compatibilidade de origem .
Motivo da mudança
StringValues tem operadores implícitos para string e string[] que causam conflitos com o recurso params Span<T> lang.
Ação recomendada
Especifique explicitamente o método que você pretende chamar lançando os argumentos para o tipo apropriado ou aplique parâmetros nomeados.
APIs afetadas
- System.String.Concat(ReadOnlySpan<String>)
- System.String.Join(Char, ReadOnlySpan<String>)
- System.String.Join(String, ReadOnlySpan<String>)
- System.IO.Path.Combine(ReadOnlySpan<String>)
- System.IO.Path.Join(ReadOnlySpan<String>)
- System.Text.StringBuilder.AppendJoin(String, ReadOnlySpan<String>)
- System.Text.StringBuilder.AppendJoin(Char, ReadOnlySpan<Object>)