Secondo this post int
è il tipo di supporto per enum
.Come int è il tipo di supporto per enum
Quando controllo il codice sorgente di .NET System.Enum classe astratta eredita dalla classe astratta System.ValueType.
Ma quando controllo la struttura System.Int32 eredita dalle interfacce ma non da System.ValueType.
Al contrario, quando ho decompilare mscorlib.dll e controllare il Int32
struct si dice che la struttura ha tipo di base di System.ValueType
.
Ma ancora il controllo del codice sorgente decompilato non riesco a vedere nulla di System.ValueType
.
mi fa pensare che la parola chiave struct
rende il decleration auto-Sytem.ValueType, che Microsoft denota anche in questo reference.
Ma ho ancora una domanda. Per quanto ne so, l'ereditarietà di due classi diverse dallo stesso genitore non implica che si erediti anche da altri. Voglio dire se se B:A
e C:A
questo non significa sempre che C:B
.
Inoltre, quando controllo i codici sorgente System.Enum
ha un'implementazione del tutto diversa da System.Int32
.
Torna alle origini, in queste circostanze, come si ottiene il risultato che "System.Int32" è il tipo di supporto per System.Enum
?
Qualcuno può spiegare?
Saluti.
Vedere http://stackoverflow.com/a/3504145/1625737 – haim770
"Tutti i tipi di valore sono derivati ** implicitamente ** dal System.ValueType." (Https://msdn.microsoft.com/en-us/library/s1ax56ch.aspx). – haim770
Decisamente non off-topic. È possibile eliminare la parte P.S :) –