青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Onway

我是一只菜菜菜菜鳥...
posts - 61, comments - 56, trackbacks - 0, articles - 34

變體泛型

Posted on 2015-07-29 20:23 Onway 閱讀(395) 評論(0)  編輯 收藏 引用 所屬分類: 使用說明
因為某些原因,一直用的都是.NET2,但渣也總得有些追求是不,說不定哪天就用上了呢?

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplicationTest
{
    /*
     * 變體泛型
     *
     * .NET4,在泛型接口類型或者泛型委托類型里面,
     * 被關鍵字in聲明的泛型參數,其類型可以從父類向子類逆變,只能用作輸入參數
     * 被關鍵字out聲明的泛型參數,其類型可以從子類向父類協變,只能用于返回值
     * 整個泛型類型是不限于用作輸入參數還是作為返回值
     *
     * interface IType_IN_OUT<in T1, out T2>
     * IType_IN_OUT<Farmer, Person> farmerPersonType = null;
     * IType_IN_OUT<Person, Farmer> personfarmerType = null;
     * farmerPersonFinder = personFarmerFinder;
     *
     * 為什么不支持“變體”class呢?跟字段有關系么?
     
*/

    class Program
    {
        static void Main(string[] args)
        {
            IType_IN<Person> person_in = null;
            IType_IN<Farmer> farmer_in = null;
            farmer_in = person_in;
            Greeting(person_in);
            Console.WriteLine(GetTypeIn() == null);

            IType_OUT<Person> person_out = null;
            IType_OUT<Farmer> farmer_out = null;
            person_out = farmer_out;
            Greeting(farmer_out);
            Console.WriteLine(GetTypeOut() == null);

            Finder_IN<Person> personFinderIn = p => Console.WriteLine(p.GetType());
            Finder_IN<Farmer> farmerFinderIn = f => Console.WriteLine(f.GetType());
            farmerFinderIn = personFinderIn;
            Greeting(personFinderIn);
            Console.WriteLine(GetFarmerFinder().GetType());

            Finder_OUT<Person> personFinderOut = () => new Person();
            Finder_OUT<Farmer> farmerFinderOut = () => new Farmer();
            personFinderOut = farmerFinderOut;
            Greeting(personFinderOut);
            Console.WriteLine(GetPersonFinder().GetType());

            Finder_IN_OUT<Farmer, Person> farmerPersonFinder = f => new Person();
            Finder_IN_OUT<Person, Farmer> personFarmerFinder = p => new Farmer();
            farmerPersonFinder = personFarmerFinder;

            // interface IType_IN_OUT<in T1, out T2>
            IType_IN_OUT<Farmer, Person> farmerPersonType = null;
            IType_IN_OUT<Person, Farmer> personfarmerType = null;
            farmerPersonType = personfarmerType;

            Console.ReadKey();
        }

        static void Greeting(IType_OUT<Person> person)
        {
            Console.WriteLine(person == null);
        }

        static void Greeting(IType_IN<Farmer> farmer)
        {
            Console.WriteLine(farmer == null);
        }

        static IType_OUT<Person> GetTypeOut()
        {
            IType_OUT<Farmer> farmer = null;
            return farmer;
        }

        static IType_IN<Farmer> GetTypeIn()
        {
            IType_IN<Person> person_IN = null;
            return person_IN;
        }

        static void Greeting(Finder_OUT<Person> personFinder)
        {
            Console.WriteLine(personFinder().GetType());
        }

        static void Greeting(Finder_IN<Farmer> farmerFinder)
        {
            Console.WriteLine(farmerFinder.GetType());
        }

        static Finder_OUT<Person> GetPersonFinder()
        {
            Finder_OUT<Farmer> farmerFinder = () => new Farmer();
            return farmerFinder;
        }

        static Finder_IN<Farmer> GetFarmerFinder()
        {
            Finder_IN<Person> person = p => Console.WriteLine(p.GetType());
            return person;
        }
    }

    interface IType_OUT<out T>
    {
    }

    interface IType_IN<in T>
    {
    }

    interface IType_IN_OUT<in T1, out T2>
    {
    }

    delegate T Finder_OUT<out T>();

    delegate void Finder_IN<in T>(T t);

    delegate T2 Finder_IN_OUT<in T1, out T2>(T1 t1);

    class Person
    {
    }

    class Farmer : Person
    {
    }
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            羞羞色国产精品| 国产欧美日韩| 久久婷婷一区| 欧美日产在线观看| 欧美日韩免费在线观看| 欧美视频中文字幕在线| 国产伦精品一区| 99国产精品| 欧美在线精品免播放器视频| 久久亚洲春色中文字幕| 欧美一区久久| 国产专区一区| 久久国产主播精品| 国产精品一区=区| 99re在线精品| 亚洲精品网站在线播放gif| 久久精品亚洲| 亚洲福利国产| 嫩模写真一区二区三区三州| 亚洲破处大片| 久久久精品国产免费观看同学| 久久久女女女女999久久| 欧美激情中文字幕乱码免费| 美女主播一区| 亚洲一区二区三区在线视频| 亚洲精品孕妇| 午夜国产精品视频免费体验区| 亚洲人精品午夜| 在线亚洲伦理| 久久久久久久一区二区| 欧美激情一区二区三级高清视频| 日韩午夜av在线| 亚洲欧美色婷婷| 欧美极品影院| 国产精品视频网址| 99精品热6080yy久久| 亚洲一区二区三区在线| 免费日韩av片| 久久精品动漫| 欧美日韩在线视频首页| 国内精品久久久久国产盗摄免费观看完整版| 国产一区二区高清| 狠狠狠色丁香婷婷综合激情| 欧美日韩国产精品专区| 欧美二区在线观看| 国产精品亚洲精品| 亚洲肉体裸体xxxx137| 亚洲性感激情| 国产精品毛片大码女人| 亚洲精品一区二区三区福利| 久久欧美中文字幕| 亚洲国产成人不卡| 亚洲黄色免费电影| 久久久亚洲影院你懂的| 国产又爽又黄的激情精品视频 | 久久精品99| 欧美日韩美女一区二区| 国内成人在线| 欧美h视频在线| 欧美v日韩v国产v| 欧美日韩中文在线| 日韩亚洲欧美精品| 一级日韩一区在线观看| 欧美日韩在线播放| 亚洲欧洲99久久| 亚洲欧美国产高清| 激情av一区| 亚洲精品午夜精品| 国产日韩一区二区| 欧美国产高清| 国产精品超碰97尤物18| 欧美专区第一页| 欧美不卡激情三级在线观看| 亚洲在线观看视频| 久久午夜电影| 日韩视频中午一区| 欧美国产高清| 亚洲视频免费| 亚洲欧美日韩天堂一区二区| 欧美成人一区二区三区在线观看 | 欧美日韩视频| 亚洲福利免费| 亚洲精品国久久99热| 久久黄色级2电影| 久久久久国产精品人| 亚洲日本成人网| 中文一区二区| 国内精品久久久久久久97牛牛| 最新国产拍偷乱拍精品| 亚洲欧洲日夜超级视频| 午夜精品短视频| 欧美不卡视频一区发布| 亚洲在线视频一区| 欧美日韩国产成人在线观看| 欧美激情视频一区二区三区免费| 国产精品美女999| 欧美成人激情视频免费观看| 欧美日韩中文在线观看| 91久久国产自产拍夜夜嗨| 黄色成人在线| 久久久久久亚洲精品中文字幕| 亚洲欧美在线观看| 国产日本欧美一区二区三区在线| 制服丝袜激情欧洲亚洲| 久久精品视频网| 黄网站色欧美视频| 久久午夜羞羞影院免费观看| 欧美xx69| 先锋影音国产精品| 在线视频成人| 欧美理论电影在线观看| 亚洲一区二区三区四区中文| 久久福利毛片| 亚洲国产精选| 国产精品视频xxxx| 亚洲第一在线综合网站| 国产美女一区二区| 久久亚洲欧美| 一区二区三区欧美激情| 亚洲三级电影全部在线观看高清| 先锋影音网一区二区| 久久国产精品久久久久久| 蜜桃伊人久久| 麻豆精品网站| 亚洲手机在线| 久久久99精品免费观看不卡| 欧美一级视频精品观看| 欧美极品aⅴ影院| 亚洲国产成人精品视频| 欧美一区二区网站| **网站欧美大片在线观看| 国产麻豆视频精品| 国产精品久久久久久久久久妞妞| 久久久综合激的五月天| 亚洲一区二区影院| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲一区二区在线播放| 9l视频自拍蝌蚪9l视频成人| 韩国精品主播一区二区在线观看| 欧美午夜理伦三级在线观看| 欧美精品尤物在线| 久久久噜噜噜久久人人看| 亚洲一区二区伦理| 亚洲欧美另类在线观看| 香蕉亚洲视频| 亚洲啪啪91| 99re66热这里只有精品3直播 | 欧美v国产在线一区二区三区| 一本久久a久久免费精品不卡| 亚洲国内在线| 一区二区三区日韩| 一区二区激情视频| 亚洲欧美在线磁力| 欧美 日韩 国产在线| 国产精品第一页第二页第三页| 国产午夜一区二区三区| 狠狠综合久久| 久久综合九色99| 午夜在线视频观看日韩17c| 亚洲精品美女免费| 欧美视频三区在线播放| 国产精品日韩欧美一区| 激情综合自拍| 一区二区三区免费在线观看| 99成人免费视频| 精品成人乱色一区二区| 久久福利毛片| 亚洲高清免费在线| 亚洲综合日韩中文字幕v在线| 国产视频欧美| 欧美久久在线| 亚洲在线成人| 亚洲图片欧洲图片av| 国产午夜精品久久久久久久| 欧美高清在线| 欧美fxxxxxx另类| 久久国内精品视频| 国内外成人在线| 久久久天天操| 久久精品人人做人人综合| 国产欧美精品在线观看| 性欧美超级视频| 最近中文字幕mv在线一区二区三区四区| 一区二区激情小说| 欧美区国产区| 亚洲欧美一区二区在线观看| 亚洲欧洲日韩在线| 欧美精品v日韩精品v国产精品| 亚洲第一福利在线观看| 美国成人毛片| 欧美激情精品久久久久久免费印度| 亚洲第一页自拍| 亚洲精品一区二区三| 国产精品成人一区| 久久久蜜桃精品| 欧美精品一级| 久久色在线观看| 欧美人成在线视频| 久久精品网址| 欧美视频免费在线观看|