using System;
namespace CallbackExample
{
class Program
{
// 定义一个委托类型,用于表示回调函数的签名
public delegate void Callback(int result);
static void Main(string[] args)
{
// 创建一个实例并调用方法,传递回调函数
Calculate(10, 5, Operation.Add, ResultCallback);
Calculate(10, 5, Operation.Subtract, ResultCallback);
Console.ReadLine();
}
// 定义一个枚举来表示操作类型
public enum Operation
{
Add,
Subtract
}
// 计算方法,接受两个整数、一个操作类型和一个回调函数
public static void Calculate(int a, int b, Operation op, Callback callback)
{
int result = 0;
switch (op)
{
case Operation.Add:
result = a + b;
break;
case Operation.Subtract:
result = a - b;
break;
}
// 调用回调函数并将结果作为参数传递
callback(result);
}
// 回调函数,接收计算结果并输出到控制台
public static void ResultCallback(int result)
{
Console.WriteLine("The result is: " + result);
}
}
}
委托(Delegate):public delegate void Callback(int result); 定义了一个名为 Callback 的委托类型,它表示一个没有返回值且接受一个整数参数的方法。这个委托用于定义回调函数的签名。
枚举(Enum):public enum Operation { Add, Subtract } 定义了一个枚举类型 Operation,用于表示不同的操作类型(加法和减法)。
Calculate 方法:Calculate 方法接受两个整数、一个操作类型和一个回调函数作为参数。根据传入的操作类型执行相应的计算,并将结果通过回调函数返回。
回调函数:ResultCallback 是一个具体的回调函数实现,它接收计算结果并将其输出到控制台。
Main 方法:在 Main 方法中,我们调用了 Calculate 方法两次,分别传递了加法和减法操作以及回调函数 ResultCallback。每次调用后,Calculate 方法会执行计算并将结果通过回调函数输出到控制台。
上一篇:c# #region
下一篇:c# file
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站