Partilhar via


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

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.

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

APIs afetadas