Si tratta dei metodi di tipo effettivo senza un valore restituito?In che modo System.Void si specifica un tipo di valore di ritorno per un metodo che non restituisce un valore?
In tal caso, dov'è la distinzione che viene restituito "nulla"?
Si tratta dei metodi di tipo effettivo senza un valore restituito?In che modo System.Void si specifica un tipo di valore di ritorno per un metodo che non restituisce un valore?
In tal caso, dov'è la distinzione che viene restituito "nulla"?
Non sono sicuro di cosa stiate cercando. C'è un System.Void e una parola chiave 'void'.
La parola chiave viene utilizzata per i motivi indicati dalla definizione del tipo. Il tipo viene usato in riflessione quando chiedi che cosa 'tipo' restituirà un metodo.
Questo tipo di valore è in realtà utilizzato per la riflessione. Supponiamo di voler interrogare il tipo di ritorno di un metodo. Che valore vorresti tornare? Questo è ciò che System.Void è per.
Ma la documentazione dice già:
La struttura Void è usato nello spazio dei nomi System.Reflection, ma è raramente utile in una tipica applicazione. La struttura Void non ha membri diversi da quelli che tutti i tipi ereditano dalla classe Object.
Il metodo non restituisce nulla; nessun valore di ritorno viene visualizzato sullo stack (in contrapposizione ad un valore nullo, tutti zeri, un riferimento a System.Void
, ecc)
Il tipo System.Void
è solo un segnaposto per le API di riflessione in modo che la riflessione ha un modo conveniente per dire tu che il metodo non restituisce un valore.