協方差和反變量
回答
協變和逆變只適用於代表在c#中嗎?
不完全;語言級差異也可以應用於接口,例如IEnumerable<out T>
(同樣in
也可以)。
我也應該注意,引用類型數組也是協變:
string[] orig = {"abc","def"};
object[] sameArray = orig;
我們能有協變和逆變正常類層次?
否;它不適用於類/結構(儘管你當然可以實現一個協變接口,並強制接口)。
糟糕;我想我點擊了錯誤的按鈕並刪除了Brian的評論,但他正確地指出數組也可以是協變的。 – 2010-10-27 10:55:01
這是分配兼容性。協方差和賦值相容性之間存在差異。檢查這篇erric lippert文章。 http://blogs.msdn.com/b/ericlippert/archive/2009/11/30/what-s-the-difference-between-covariance-and-assignment-compatibility.aspx – Adeel 2010-10-27 11:00:04
@Marc:謝謝你的回答,但你有什麼想法爲什麼這個限制是? – TalentTuner 2010-10-27 11:08:09
- 1. 通用協方差和反變量
- 2. 泛型,協方差/反變量等
- 3. IsAssignable從協方差和反變換
- 4. 協方差和反變量匿名類型
- 5. 協方差和逆變
- 6. 協方差和MVVM
- 7. 逆變和協方差在斯卡拉
- 8. 是否有可能根據兩個變量之間的協方差與第三個變量計算協方差
- 9. Scala中的協變性與協方差
- 10. 委託協方差和Contavariance
- 11. C#協方差和繼承
- 12. C++協方差和引用
- 13. Java協方差
- 14. KeyValuePair協方差
- 15. 協方差
- 16. 協方差矩陣顯示向量中每個值之間的協方差
- 17. 列表::方法和協方差
- 18. 泛型協方差變通辦法?
- 19. scilab中兩個向量的協方差
- 20. 在Java泛型的協變和反變量中的寫入
- 21. 如何計算n維變量之間的協方差
- 22. [matlab]使用協方差矩陣創建隨機高斯變量
- 23. 陣列協方差
- 24. 協方差與列
- 25. 協方差問題
- 26. 協方差在MATLAB
- 27. 協方差泛型
- 28. 按組的方差協方差矩陣
- 29. 的Java協方差/禁忌方差
- 30. Proc GLM的方差協方差矩陣
[Covariance vs contravariance](http://izlooite.blogspot.com/2011/04/covariance-and-contravariance.html) – 2011-04-11 07:59:36