2011-09-08 8 views
5

Bunu soruyorum çünkü SL4'te bir eş/kontravaryans sorununu takip ettim. Ben SO iki kez sordu ve - "Sadece çalışır, .net 4 kullandığınızdan emin olun" çizgileri boyunca cevaplar var. Başarısız kodumu (ve gönderilen insanların örneklerini) SL4 ve .Net 4'te denedim ve sonuçlar farklı. Yani SL4 aslında bir < 4 sürümü üzerinde çalışıyor. Ya da dışarıda kalmış bazı özellikler var (tesadüfen veya amacına göre). Eğer öyleyse ne özellikleriSilverlight 4'ün çekirdek CLR'si 'classic' .Net 4 ile aynı mı?

SL 5?

cevap

5

Silverlight 4 çekirdek derleyici Kovaryansı ve contravariance destekler, ancak çerçeve arayüzleri (yani: IEnumerable<T>) maalesef (o .NET 4'te olduğu gibi IEnumerable<out T> değil docs notu) kovaryant olarak işaretlenmiş değildi. Covariance ve Contravariance'ı "resmen" destekleyen "resmi olarak"

Silverlight 5 fixes this.