Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V .NET 9 zásadní změna funkce jazyka params Span<T> způsobuje nejednoznačnost s implicitními operátory StringValues. Výsledkem této změny je, že kompilátor vyvolá chybu CS0121, když dojde k nejednoznačným voláním metody.
Předchozí chování
Rozhraní API uvedená v ovlivněných rozhraních API dříve neměla nejednoznačné přetížení s implicitními operátory StringValues. V důsledku toho by kompilátor vyřešil přetížení bez jakýchkoli problémů.
Nové chování
Kompilátor vyvolá chybu CS0121 při výskytu těchto nejednoznačných přetížení, což vede k následující chybě:
CS0121: The call is ambiguous between the following methods or properties: 'Program.Join(string, params string[])' and 'Program.Join(string, params ReadOnlySpan<string>)'
Zavedená verze
.NET 9
Typ zásadní změny
Tato změna je změnou kompatibility zdroje .
Důvod změny
StringValues má implicitní operátory pro string a string[], které způsobují konflikty s funkcí jazyka params Span<T>.
Doporučená akce
Explicitně zadejte metodu, kterou chcete volat přetypováním argumentů na příslušný typ nebo použít pojmenované parametry.
Ovlivněná rozhraní API
- 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>)