色尼玛亚洲综合影院,亚洲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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 鄂托克前旗| 额敏县| 贵溪市| 乐东| 临西县| 宝山区| 油尖旺区| 兴山县| 离岛区| 清水河县| 桦甸市| 西城区| 宝应县| 新蔡县| 陇西县| 始兴县| 丰台区| 辽源市| 阿尔山市| 故城县| 那坡县| 济阳县| 二连浩特市| 黑山县| 彩票| 三亚市| 浦江县| 德钦县| 荣成市| 凤阳县| 福安市| 扶绥县| 太仆寺旗| 衡南县| 苏尼特右旗| 彩票| 衡东县| 梅州市| 久治县| 四子王旗| 郴州市|