MulticastDelegate.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:1k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. namespace MulticastDelegate
  3. {
  4.   delegate void DoubleOp(double value);
  5.   class MainEntryPoint
  6.   {
  7.     static void Main()
  8.     {
  9.       DoubleOp operations = new DoubleOp(MathsOperations.MultiplyByTwo);
  10.       operations += new DoubleOp(MathsOperations.Square);
  11.       ProcessAndDisplayNumber(operations, 2.0);
  12.       ProcessAndDisplayNumber(operations, 7.94);
  13.       ProcessAndDisplayNumber(operations, 1.414);
  14.       Console.WriteLine();
  15.       Console.ReadLine();
  16.     }
  17.     static void ProcessAndDisplayNumber(DoubleOp action, double value)
  18.     {
  19.       Console.WriteLine("nProcessAndDisplayNumber called with value = " + value);
  20.       action(value);
  21.     }
  22.   }
  23.   class MathsOperations
  24.   {
  25.     public static void MultiplyByTwo(double value)
  26.     {
  27.       double result = value*2;
  28.       Console.WriteLine("Multiplying by 2: {0} gives {1}", value, result);
  29.     }
  30.     public static void Square(double value)
  31.     {
  32.       double result = value*value;
  33.       Console.WriteLine("Squaring: {0} gives {1}", value, result);
  34.     }
  35.   }
  36. }