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

    如果你知道泛型,那么就很容易理解泛型委托,说白了就是含有泛型参数的委托,例如:

    public delegate T Calculator<T> (T arg);

    我们可以把前面的例子改成泛型的例子,如下:

    public delegate T Calculator<T>(T arg);
    class Program {
        static int Double(int x) { return x * 2; }
        static void Main(string[] args) {
            int[] values = { 1, 2, 3, 4 };
            Utility.Calculate(values, Double);
            foreach (int i in values)
                Console.Write(i + " "); // 2 4 6 8
            Console.ReadKey();
        }
    }
    class Utility {
        public static void Calculate<T>(T[] values, Calculator<T> c) {
            for (int i = 0; i < values.Length; i++)
                values[i] = c(values[i]);
        }
    }
  • 相关阅读:
    学习记录18
    学习记录17
    学习记录16
    小白的心酸连网历程
    学习记录15
    学习记录14
    学习记录13
    学习记录12
    学习记录10
    语法糖
  • 原文地址:https://www.cnblogs.com/XiaoRuLiang/p/12422779.html
Copyright © 2011-2022 走看看