色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

C#4.0新特性-"協變"與"逆變"以及背后的編程思想

  在《上篇》中我們揭示了“缺省參數”的本質,現在我們接著來談談C#4.0中另一個重要的新特性:協變(Covariance)與逆變(Contravariance)。對于協變與逆變,大家肯定不會感到陌生,但是我相信有很多人不能很清晰地說出他們之間的區別。我希望通過這篇文章能夠讓讀者更加深刻的認識協變與逆變。但是也不排除另一種可能,那就是讀者這篇文章你對這兩個概念更加模糊。文章一些內容僅代表個人觀點,如有不妥,還望指正。

目錄
一、兩個概念:強類型與弱類型
二、委托中的協變與逆變的使用
三、接口中的協變與逆變的使用
四、從Func<T,TResult>看協變與逆變的本質
五、逆變實現了“算法”的重用

  一、兩個概念:強類型與弱類型

  為了后面敘述方便,我現在這里自定義兩個概念:強類型和弱類型。在本篇文章中,強類型和弱類型指的是兩個具有直接或者間接繼承關系的兩個類。如果一個類是另一個類的直接或者間接基類,那么它為弱類型,直接或者間接子類為強類型。后續的介紹中會用到的兩個類Foo和Bar先定義在這里。Bar繼承自Foo。Foo是弱類型,而Bar則是強類型。

   1: public class Foo
2: {
3: //Others Members...
4: }
5: public class Bar:Foo
6: {
7: //Others Members...
8: }

NET技術C#4.0新特性-&amp;quot;協變&amp;quot;與&amp;quot;逆變&amp;quot;以及背后的編程思想,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 永济市| 江华| 石阡县| 延长县| 新竹市| 阳新县| 共和县| 天全县| 四川省| 北碚区| 沈阳市| 遵化市| 海口市| 广德县| 梓潼县| 顺义区| 安陆市| 和林格尔县| 郑州市| 凤冈县| 华阴市| 汝州市| 横峰县| 剑川县| 阿荣旗| 泸西县| 涞水县| 荃湾区| 岑巩县| 错那县| 南乐县| 柳林县| 泽州县| 吴川市| 定州市| 太仓市| 茂名市| 大足县| 乐亭县| 彰武县| 巨鹿县|