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.
Doporučená akce
Odeberte kód, který se pokusí vytvořit typ pro pole .System.Void
Ovlivněná rozhraní API
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro