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
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示