Può un tipo anonimo ereditare da un altro tipo?
-
28-09-2019 - |
Domanda
In base alla documentazione MSDN sulla StringComparer.OrdinalIgnoreCase
proprietà:
La proprietà OrdinalIgnoreCase in realtà restituisce un'istanza di una classe anonima derivata dalla StringComparer classe.
Si tratta di una funzione Sono familiarità con-anonimi tipi con eredità? Oppure con "classe anonima" ha l'autore significa semplicemente "classe interna derivante da StringComparer
, non visibile per il codice cliente"?
Soluzione
Se si guarda il codice sorgente per StringComparer, si può vedere che OrginalIgnoreCase restituisce un'istanza di OrdinalComparer, che è derivata da StringComparer.
Non c'è niente di 'anonymous' su questo che posso vedere, è solo che si tratta di interno e quindi non si può vedere dal di fuori del quadro.
Altri suggerimenti
Non è un tipo anonimo nel normale C # significato del termine.
E 'solo un tipo che è interno, in modo da non si conosce il nome di essa. Non si può fare riferimento al tipo esatto all'interno del codice
compilatore in grado di creare i tipi anonimi che ereditano da un altro tipo - non si può. E 'un peccato, davvero come sarebbe una caratteristica fredda per creare un tipo anonimo al volo che o eredita da un'altra classe o implementa un'interfaccia.
Anonymous è anonymous per noi non è il CLR e compilatore. Compilatore utilizza una denominazione divertente che include <> in nome e solo compilatore può farlo! e forse Chuck Norris ...