Delegate的几种方法
Code
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Operation
{
public static double thribble(double value)
{
Console.Write(value * value * value);
return (value * value * value);
}
}
}
Code
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
public delegate double Calculate(double value);
class Program
{
public static bool some = true;
static void Main(string[] args)
{
double value = 5;
//匿名方法_1
Calculate mulByTwo = delegate(double val) { return val * 2; };
Work(mulByTwo, value);
//匿名方法_2,实质是直接将匿名方法中带入函数;
Work(delegate(double kk)
{
Console.Write(kk * kk * kk);
return (kk * kk * kk);
}, value);
//显式调用
Calculate cube = new Calculate(Operation.thribble);
Work(cube, value);
Console.Read();
}
static void Work(Calculate action, double value)
{
Console.WriteLine("The number is:{0}", action(value));
}
}
}