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

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

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

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

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

  為了后面敘述方便,我現(xiàn)在這里自定義兩個概念:強類型和弱類型。在本篇文章中,強類型和弱類型指的是兩個具有直接或者間接繼承關(guān)系的兩個類。如果一個類是另一個類的直接或者間接基類,那么它為弱類型,直接或者間接子類為強類型。后續(xù)的介紹中會用到的兩個類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技術(shù)C#4.0新特性-&amp;quot;協(xié)變&amp;quot;與&amp;quot;逆變&amp;quot;以及背后的編程思想,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 九台市| 舟山市| 应用必备| 屯门区| 隆德县| 普陀区| 巧家县| 静海县| 墨竹工卡县| 门源| 北辰区| 巴楚县| 双桥区| 行唐县| 邵阳市| 安福县| 汉源县| 望江县| 蒙城县| 益阳市| 罗平县| 阿坝| 烟台市| 玉田县| 怀化市| 南投县| 平安县| 抚顺市| 班戈县| 高碑店市| 镇沅| 屏山县| 乳源| 枣强县| 塔河县| 铁力市| 章丘市| 三都| 包头市| 达拉特旗| 英山县|