// Declare a delegate
//委托 Del 和关联的方法MultiplyNumbers 具有相同的签名
//C# 中,命名方法是对委托进行实例化的唯一方式。但是,在不希望付出创建新方法的系统开销时,C# 使您可以对委托进行实例化,并立即指定委托在被调用时将处理的代码块。这些被称为匿名方法。
delegate void Del(int i, double j); class MathClass { staticvoid Main() { MathClass m = new MathClass(); // Delegate instantiation using"MultiplyNumbers" Del d = m.MultiplyNumbers; //Invoke the delegate object. System.Console.WriteLine("Invoking the delegate using'MultiplyNumbers':"); for (int i = 1; i <= 5; i++) { d(i, 2); } } //Declare the associated method. voidMultiplyNumbers(int m, double n) { System.Console.Write(m * n + " "); } } 输出 Invoking the delegate using 'MultiplyNumbers': 2 4 6 8 10
|