zoukankan      html  css  js  c++  java
  • 泛型委托示例

    delegate T Factory<out R, in S , T>() 

    //   out R  协变        in  S   逆变     T   不变

    ----------------------------------------------------------------------------------------------------

    public delegate TR Func<T1, T2, TR>(T1 p1, T2 p2);   //泛型委托  TR委托返回类型   T1,T2 委托参数类型

    class Simple

    {

      static public string PrintString(int p1, int p2) //方法匹配委托

      {

        int total = p1 + p2;

        return total.ToString();

      }

    }

    class Program

    {

      static void Main()

        {

          var myDel = new Func <int, int, string>(Simple.PrintString);   //创建委托实例

          Console.WriteLine("ToTal: {0}", myDel(15, 13));//  调用委托

        }

    }

    另一种out协变

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace ConsoleApplication33
    {
        class Animal                                            //基类
        {
            public int Legs = 4;
        }

        class Dog:Animal                                        //派生类
        {

        }

        class Program
        {
            delegate T Factory<out T>();

            static Dog MackDog() { return new Dog(); }
            static void Main(string[] args)
            {
                Factory<Animal> animalMacker = MackDog;             //隐式强制转换

                Factory<Dog> dogMacker = MackDog;

                Factory<Animal> animalMacker2 = dogMacker;          //需要out标识符

                Factory<Animal> animalMacker3 = new Factory<Dog>(MackDog);  //需要out标识符
            }
        }
    }

  • 相关阅读:
    [noip2013]华容道
    [tyvj 1061] Mobile Service (线性dp 滚动数组)
    [bzoj 2726] 任务安排 (斜率优化 线性dp)
    [洛谷 P2365] 任务安排 (线性dp)
    [poj 3666] Making the Grade (离散化 线性dp)
    【模板】manacher算法
    [tyvj 1071] LCIS
    [NOIP 2012] 国王游戏
    [NOIP 2010] 关押罪犯 (二分+二分图判定 || 并查集)
    [NOI 2002] 银河英雄传说 (带权并查集)
  • 原文地址:https://www.cnblogs.com/bedfly/p/11921520.html
Copyright © 2011-2022 走看看