一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

一句話清晰總結(jié)協(xié)變(covariant)和逆變 (contravariant)

  看到過(guò)園子里面幾篇協(xié)變和逆變的文章,但是總覺(jué)得寫(xiě)得不夠清晰,文章這東西最重要的是要把自己想表達(dá)的觀點(diǎn)表達(dá)出來(lái),這個(gè)過(guò)程應(yīng)該是把復(fù)雜的東西消化出來(lái)從而簡(jiǎn)單化,清晰化,而不是故弄玄虛,反其道而行之,下面我們言歸正傳啦。

  我們先來(lái)看一段MSDN原文給協(xié)變,逆變和變體下個(gè)定義:

A generic interface or delegate is called variant if its generic parameters are declared covariant or contravariant. Both C# and Visual Basic enable you to create your own variant interfaces and delegates.

  如果泛型接口或委托的泛型參數(shù)聲明為協(xié)變或逆變,則將該泛型接口或委托稱為“變體”。 C# 和 Visual Basic 都允許您創(chuàng)建自己的變體接口和委托。

  通俗解釋:

  變體定義 - 帶有協(xié)變或逆變參數(shù)的泛型接口或委托。也就是說(shuō)協(xié)變和逆變主要關(guān)注點(diǎn)在泛型接口或委托。

  那什么又是協(xié)變和逆變呢?

  協(xié)變

  我們先來(lái)看下面一個(gè)來(lái)自MSDN的例子:

// 協(xié)變
IEnumerable<string> strings = new List<string>();
IEnumerable<object> objects = strings;
//大家看到了么一個(gè)聲明為IEnumerable<string>的接口類型被賦給了一個(gè)更低級(jí)別的IEnumerable<object>.
//對(duì),這就是協(xié)變。再來(lái)看一個(gè)例子:
class Base
{
public static void PrintBases(IEnumerable<Base> bases)
{
foreach(Base b in bases)
{
Console.WriteLine(b);
}

}
}

class Derived : Base
{
public static void Main()
{
List<Derived> dlist = new List<Derived>();
Derived.PrintBases(dlist);
     //由于IEnumerable<T>接口是協(xié)變的,所以PrintBases(IEnumerable<Base> bases)
//可以接收一個(gè)更加具體化的IEnumerable<Derived>作為其參數(shù)。
IEnumerable<Base> bIEnum = dlist;
}
}

NET技術(shù)一句話清晰總結(jié)協(xié)變(covariant)和逆變 (contravariant),轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 久久99亚洲综合精品首页 | 亚洲六月婷婷 | 欧洲成人在线观看 | 久久一区二区三区免费 | 国产精品第一区在线观看 | 亚洲第一成网站 | 久久99国产亚洲精品 | 亚洲国产爱 | 大色香蕉 | 国产成人免费视频 | 91精品综合国产在线观看 | 88av色| 日日久 | 欧美激情免费a视频 | 福利一区二区视频 | 婷婷色综合久久 | 大香伊人久久 | 日产国产精品久久久久久 | 精品日本一区二区三区在线观看 | 免费视频99| 国产精品一区二区三 | 在线播放黄色网址 | 日本三级成人中文字幕乱码 | 婷婷热 | 色妹子综合 | 99久久久久国产 | 国产婷婷色一区二区三区 | 午夜精品在线免费观看 | 激情综合亚洲 | 成人自拍视频在线观看 | 99re6这里只有精品视频 | 日韩午夜高清福利片在线观看 | 国产久爱青草视频在线观看 | 2021国产精品自在拍在线播放 | 久在线| 久久中文字幕免费 | 五月婷婷开心网 | 国产成人悠悠影院 | 国产精品免费一区二区三区四区 | 六月激情网 | 久久久噜噜噜久久久午夜 |