Compartilhar via


Resolução de sobrecarga ambígua que afeta os operadores implícitos de StringValues

No .NET 9, uma alteração significativa no recurso lang params Span<T> cria ambiguidade com os operadores implícitos de StringValues. Essa alteração resulta no compilador lançando o erro CS0121 quando encontra chamadas de método ambíguas.

Comportamento anterior

As APIs mencionadas na seção APIs afetadas anteriormente não tinham 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 um erro CS0121 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 interruptiva

Essa alteração é uma mudança de compatibilidade de origem .

Motivo da alteração

StringValues tem operadores implícitos para string e string[] que causam conflitos com o recurso lang params Span<T>.

Especifique explicitamente o método que você pretende chamar lançando os argumentos para o tipo apropriado ou aplique parâmetros nomeados.

APIs afetadas