C# 回调函数
1、什么是回调函数
是将某个实现函数作为另一个函数的参数进行调用。通过函数指针调用的函数,当一个函数的指针(地址)作为参数传递给另一个函数,当这个指针指向的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用,用于对事件或条件的响应。
2、回调函数的实现
由于回调函数是作为参数传递给执行的函数,此处使用委托
using System;
namespace 回调函数
{
class Program
{
public delegate int CalSum(int a, int b);
static void Main(string[] args)
{
int a = 3;
int b = 5;
int c = AddCaculate(a, b, GetSum);
int d = AddCaculate(a, b, GetMulit);
Console.ReadKey();
}
static int AddCaculate(int a,int b,CalSum cal)
{
Console.WriteLine("第一个数是{0},第二个数是{1}", a, b);
return cal(a, b);
}
static int GetSum(int a,int b)
{
Console.WriteLine("结果为{0}", a + b);
return a + b;
}
static int GetMulit(int a, int b)
{
Console.WriteLine("结果为{0}", a * b);
return a * b;
}
}
}
运行结果: