class Class1
{
static void Main(string[] args)
{
CalculateClass cc = new CalculateClass();
FunctionClass fc = new FunctionClass();
int result1 = cc.PrintAndCalculate(2, 3, fc.GetSum);
Console.WriteLine(“调用了开发人员的加法函数,处理后返回结果:” + result1);
int result2 = cc.PrintAndCalculate(2, 3, fc.GetMulti);
Console.WriteLine(“调用了开发人员的乘法函数,处理后返回结果:” + result2); Console.ReadKey();
}
}
class FunctionClass //开发层处理,开发人员编写具体的计算方法
{
public int GetSum(int a, int b)
{ return (a + b); }
public int GetMulti(int a, int b)
{ return (a * b); }
}
class CalculateClass
{
public delegate int SomeCalculateWay(int num1, int num2);
//将传入参数在系统底层进行某种处理,具体计算方法由开发者开发,函数仅提供执行计算方法后的返回值
public int PrintAndCalculate(int num1, int num2, SomeCalculateWay cal)
{
Console.WriteLine(“系统底层处理:” + num1);
Console.WriteLine(“系统底层处理:” + num2);
return cal(num1, num2);//调用传入函数的一个引用
} //可以封装更多的业务逻辑方法
}
#endregion
C#回调函数的简单讲解与应用例子
最新推荐文章于 2024-05-29 16:01:58 发布