定义一个类,有两个静态方法,对double类型的值执行两个操作,然后使用委托调用这些方法
class MathsOperations
{
public static double MultiptyByTwo(double value)
{
return value*2;
}
public static double Square(double value)
{
return value*value;
}
}
using System;
namespace CSharp.Delegates
{
delegate double DoubleOp(double x);
class Program
{
static void Main()
{
DoubleOp [] operations =
{
MathsOperations.MutiplyByTwo,
MathsOperations.Square
}
for(int i=0;i<operations.Length;i++)
{
Console.WriteLine("Using opertions[{0}]:",i);
ProcessAndDisplayNumber(opertions[i],2.0);
ProcessAndDisplayNumber(opertions[i],7.94);
ProcessAndDispayNumber(opertions[i],1.414);
Console.WriteLine();
}
}
static void ProcessAndDisplayNumber(DoubleOp action,double value)
{
double result=action(value);
Console.WriteLine("value is{0},result of opertion is {1}",value,action );
}
}
}