2011-09-08 23 views
5

我問這個,因爲我一直追查SL4中的共同/反對問題。我在SO中問了兩遍,並得到了以下答案 - 「它正常工作,請確保您使用.net 4」。我在SL4和.Net 4中嘗試了我的失敗代碼(以及發佈的示例),結果不同(在.net中失敗,在sl中)。 SL4實際上運行在< 4版本上。或者只是遺漏了一些功能(意外或有意)。如果是的話,什麼特點Silverlight 4的核心CLR與'classic'.Net 4相同嗎?

SL 5呢?

回答

5

Silverlight 4中的核心編譯器支持協變和逆變,但不幸的是框架接口(即:IEnumerable<T>)未標記爲協變(文檔中注意它不是IEnumerable<out T>,因爲它在.NET 4中)。

Silverlight 5 fixes this,「正式」支持協方差和逆變。