2011-09-08 11 views
5

Chiedo questo perché ho seguito un problema di co/controvarianza in SL4. L'ho chiesto due volte in SO e ho ottenuto le risposte sulla falsariga di: "Funziona, assicurati di utilizzare .net 4". Ho provato il mio codice fallito (e le persone del campione postate) in SL4 e .Net 4 ei risultati sono diversi (lavoro in .net fail in sl). Quindi SL4 è attualmente in esecuzione su una versione 4 <. O ci sono solo alcune funzioni tralasciate (accidentalmente o di proposito). In caso affermativo, quali caratteristiche:Il core CLR di Silverlight 4 è lo stesso di "classico" .Net 4?

E SL 5?

risposta

5

Il compilatore nucleo in Silverlight 4 supporta covarianza e controvarianza, ma le interfacce quadro (es: IEnumerable<T>) purtroppo non sono stati contrassegnati come covariante (nota nella documentazione che non è IEnumerable<out T> come in NET 4).

Silverlight 5 fixes this, "ufficialmente" che supporta la cecarianza e la controvarianza.