泛型委托
如果你知道泛型,那么就很容易理解泛型委托,说白了就是含有泛型参数的委托,例如:
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]); } }
野心成就不了你,热爱可以。