Compartir a través de


Resolución de sobrecarga ambigua que afecta a los operadores implícitos de StringValues

En .NET 9, un cambio importante en la característica de params Span<T> lang crea ambigüedad con los operadores implícitos de StringValues. Este cambio da como resultado que el compilador produzca un error CS0121 cuando encuentre llamadas ambiguas al método.

Comportamiento anterior

Las API mencionadas en la sección API afectadas anteriormente no presentaban sobrecargas que fueran ambiguas con los operadores implícitos de StringValues. Como resultado, el compilador resolvería las sobrecargas sin problemas.

Nuevo comportamiento

El compilador produce un error CS0121 al encontrar estas sobrecargas ambiguas, lo que da como resultado el siguiente error:

CS0121: The call is ambiguous between the following methods or properties: 'Program.Join(string, params string[])' and 'Program.Join(string, params ReadOnlySpan<string>)'

Versión introducida

.NET 9

Tipo de cambio disruptivo

Este cambio es una modificación de compatibilidad de origen .

Motivo del cambio

StringValues tiene operadores implícitos para string y string[] que provocan conflictos con la característica de params Span<T> lang.

Especifique explícitamente el método al que quiere llamar mediante la conversión de los argumentos al tipo adecuado o aplique parámetros con nombre.

APIs afectadas