国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

委托, 泛型委托,Func<T>和Action<T>

2019-11-17 02:29:26
字體:
供稿:網(wǎng)友

委托, 泛型委托,Func<T>和Action<T>

使用委托來做一些事情,大致思路是:

1、定義聲明一個委托,規(guī)定輸入?yún)?shù)和輸出類型。2、寫幾個符合委托定義的方法。3、把方法列表賦值給委托4、執(zhí)行委托

    internal delegate int MyDelegate();
    class PRogram
    {
        static void Main(string[] args)
        {
            MyDelegate d = ReturnOne;
            d += ReturnTwo;
            foreach (int i in GetAllReturnVals(d))
            {
                Console.WriteLine(i);
            }
            Console.ReadKey();
        }
        static IEnumerable<int> GetAllReturnVals(MyDelegate myDelegate)
        {
            foreach (MyDelegate del in myDelegate.GetInvocationList())
            {
                yield return del();
            }
        }
        static int ReturnOne()
        {
            return 1;
        }
        static int ReturnTwo()
        {
            return 2;
        }
    }

以上,委托的返回類型是int,如果讓返回類型是泛型呢?只要讓以上的GetAllReturnVals方法針對泛型就可以了。

   internal delegate T MyDelegate<T>();
    class Program
    {
        static void Main(string[] args)
        {
            MyDelegate<int> d = ReturnOne;
            d += ReturnTwo;
            foreach (int i in GetAllReturnVals(d))
            {

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 呼图壁县| 济阳县| 布尔津县| 繁昌县| 桃园县| 梁平县| 汉寿县| 措勤县| 牡丹江市| 金寨县| 密云县| 延安市| 沂源县| 双牌县| 扶风县| 普格县| 吉隆县| 德格县| 钟山县| 深水埗区| 庆元县| 商水县| 宁国市| 石楼县| 日土县| 肥城市| 新河县| 永寿县| 偏关县| 博白县| 沙河市| 枝江市| 凤冈县| 康马县| 扎囊县| 克拉玛依市| 孟村| 高要市| 全椒县| 肇源县| 鲜城|