通过3步即可实现一个Delegate的简单应用:
(1)创建一个要被委托的方法:如一个具有输入参数和返回值的方法
public static double MyDelegateFunc(double value)
(2)声明一个delegate对象,它应当与你想要传递的方法具有相同的参数和返回值类型。
Delegate double GoToMyDelegateFunc(double x);
(3) 创建delegate对象,并将你想要传递的函数作为参数传入。
GoToMyDelegateFunc d = new GoToMyDelegateFunc();
(4) 通过上一步创建的对象d来调用方法,传入参数并接受返回值:
double result = d(8);
class Program
{
public delegate double GoToMyDelegateFunc(double value);
static void Main(string[] args)
{
GoToMyDelegateFunc goDelegate = new GoToMyDelegateFunc(MyDelegateFunc);
double result = goDelegate(8);
Console.WriteLine(result);
Console.ReadKey();
return;
}
public static double MyDelegateFunc(double value)
{
Console.WriteLine("delegate function...");
return value*2;
}
}