Sdílet prostřednictvím


Vytvoření typu pole System.Void není povoleno

Už není povoleno vytvořit System.Type instanci pro pole System.Void.

Předchozí chování

typeof(void).MakeArrayType() Dříve se vrátila System.Type instance.

Nové chování

Počínaje rozhraním .NET 9 typeof(void).MakeArrayType() vyvolá výjimku.

Zavedená verze

.NET 9 Preview 1

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

System.Void Pole je neplatný typ. Tento typ je v některých případech odmítnut (například void[] v jazyce C# se nekompiluje) a není možné vytvořit pole tohoto typu.

Moduly runtime .NET umožňují vytvoření tohoto neplatného typu v některých situacích. Pokusy o použití tohoto neplatného typu v jiných rozhraních API modulu runtime .NET ale často vedou k neočekávanému chování. Pokud chcete, aby chování bylo robustní a konzistentní, je lepší zakázat vytváření těchto neplatných typů polí ve všech situacích.

Odeberte kód, který se pokusí vytvořit typ pro pole .System.Void

Ovlivněná rozhraní API