次の方法で共有


StringValues の暗黙的な演算子に影響するあいまいなオーバーロード解決

.NET 9 では、params Span<T> 言語機能の破壊的変更 により、StringValuesの暗黙的な演算子とのあいまいさが生まれます。 この変更により、コンパイラは、あいまいなメソッド呼び出しが発生したときにエラー CS0121 をスローします。

以前の動作

影響を受ける API セクションで説明した API には、以前は、StringValuesの暗黙的な演算子であいまいなオーバーロードがありませんでした。 その結果、コンパイラはオーバーロードを問題なく解決します。

新しい動作

これらのあいまいなオーバーロードが発生すると、コンパイラによってエラー CS0121 がスローされ、次のエラーが発生します。

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

導入されたバージョン

.NET 9

破壊的変更の種類

この変更は、ソース互換性 の変更です。

変更の理由

StringValues には、stringとの競合を引き起こす string[]params Span<T> の暗黙的な演算子があります。

引数を適切な型にキャストするか、名前付きパラメーターを適用して、呼び出すメソッドを明示的に指定します。

影響を受ける API