Share via


System.Void の配列の型の作成は許可されない

System.Void の配列の System.Type インスタンスを作成することは許可されなくなりました。

以前の動作

以前の typeof(void).MakeArrayType() は、System.Type インスタンスを返しました。

新しい動作

.NET 9 以降の typeof(void).MakeArrayType() は、例外をスローします。

導入されたバージョン

.NET 9 Preview 1

破壊的変更の種類

この変更は、動作変更です。

変更理由

System.Void の配列は無効な型です。 この型は一部のケースでは拒否され (たとえば、C# の void[] はコンパイルされません)、この型の配列を作成することはできません。

.NET ランタイムでは、状況によっては、この無効な型の作成が許可されました。 ただし、他の .NET ランタイム API でこの無効な型を使おうとすると、多くの場合、予期しない動作が発生します。 堅牢で一貫性のある動作にするには、すべての状況でこれらの無効な配列型の作成を禁止する方が、より適切です。

System.Void の配列の型を作成しようとするコードを削除してください。

影響を受ける API