- 爲什麼第一次調用Foo時不能編譯?從對象派生的字符串。
- 如果我可以將列表轉換爲對象並將其編譯,那麼爲什麼編譯器不會自己完成它?
1
A
回答
4
0
- 泛型是嚴格的,您不能將派生類型的集合分配給超類型的集合。您必須提供用於實例化集合的確切類型。
因爲它不知道你想要做什麼。同樣的原因,下面的行不會編譯:
string s = new object();
要強制用戶「不安全」類型轉換會向編譯器提供太多的自由。
+0
在.NET 4.0中引入協變後,上面的語句在新框架中工作嗎? – RSB
0
你wan't查找co-variance and contra-variance。
它是.NET 4.0的新功能
相關問題
- 1. 隱式轉換 - 強類型datatable datatable?
- 2. 明顯的類型轉換VS隱式類型轉換
- 3. 隱式類型轉換?
- 4. 隱式轉換類型
- 5. 隱式類型轉換
- 6. 隱式轉換泛型類
- 7. 顯/隱式類型轉換C++
- 8. Func和不能隱式轉換類型
- 9. 繼承和隱式類型轉換
- 10. 斯卡拉隱式類型轉換和==
- 11. 泛型:類型不能隱式轉換
- 12. 泛型類型的隱式轉換?
- 13. 值類類型的隱式轉換?
- 14. 強制Java對Scala顯式類型進行未知類型的轉換類型
- 15. Scala集合類型之間的隱式轉換
- 16. 集合如何使用元素類型的隱式轉換?
- 17. 顯式和隱投與泛型類型
- 18. 轉換集合類型來
- 19. 在Scala中隱式轉換泛型和非泛型子類型
- 20. Scala隱式類型使用類型參數轉換類
- 21. 斯卡拉類型轉換使用隱式 - >強制類型檢查
- 22. 1067:將類型值的隱式強制轉換爲不相關的類型flash.display:DisplayObject
- 23. Dapper強類型集合類型
- 24. 不能隱式轉換類型LINQ
- 25. 無法隱式轉換類型錯誤
- 26. 不能隱式轉換類型時groupby
- 27. 錯誤:「不能隱式轉換類型」
- 28. 無法隱式轉換類型「System.Linq.IQueryable
- 29. 斯卡拉 - 隱式類型轉換
- 30. 無法隱式轉換類型錯誤
您使用的是什麼版本的.NET? – Oded