Condividi tramite


Creazione del tipo di matrice di System.Void non consentito

Non è più consentito creare un'istanza di System.Type per una matrice di System.Void.

Comportamento precedente

In precedenza, typeof(void).MakeArrayType() ha restituito un'istanza System.Type.

Nuovo comportamento

A partire da .NET 9, typeof(void).MakeArrayType() genera un'eccezione.

Versione introdotta

.NET 9 Anteprima 1

Tipo di modifica che causa un'interruzione

Questa è una modifica funzionale.

Motivo della modifica

La matrice di System.Void è un tipo non valido. Questo tipo viene rifiutato in alcuni casi (ad esempio, void[] in C# non viene compilato) e non è possibile creare matrici di questo tipo.

I runtime .NET hanno consentito la creazione di questo tipo non valido in alcune situazioni. Tuttavia, i tentativi di usare questo tipo non valido in altre API di runtime .NET spesso comportano comportamenti imprevisti. Per rendere affidabile e coerente il comportamento, è preferibile impedire la creazione di questi tipi di matrice non validi in tutte le situazioni.

Rimuovere il codice che tenta di creare un tipo per una matrice di System.Void.

API interessate