Udostępnij przez


Niejednoznaczne rozpoznawanie przeciążeń wpływające na operatory niejawne StringValues

Na platformie .NET 9 zmiana powodująca niezgodność funkcji języka params Span<T> tworzy niejednoznaczność z niejawnymi operatorami StringValues. Ta zmiana powoduje, że kompilator zgłasza błąd CS0121, gdy napotka niejednoznaczne wywołania metody.

Poprzednie zachowanie

Wspomniane interfejsy API w sekcji Affected APIs wcześniej nie posiadały przeciążeń, które byłyby niejednoznaczne z niejawnymi operatorami StringValues. W rezultacie kompilator rozwiąże przeciążenia bez żadnych problemów.

Nowe zachowanie

Kompilator zgłasza błąd CS0121 podczas napotkania tych niejednoznacznych przeciążeń, co powoduje następujący błąd:

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

Wersja wprowadzona

.NET 9

Typ zmiany powodującej niezgodność

Ta zmiana jest zmianą zgodności ze źródłem .

Przyczyna zmiany

StringValues ma niejawne operatory dla string i string[], które powodują konflikty z funkcją params Span<T> lang.

Jawnie określ metodę, którą chcesz wywołać, rzutując argumenty do odpowiedniego typu lub stosując nazwane parametry.

Interfejsy API, których dotyczy problem