委托:delegate
与类平级
用于封装,解耦
// 声明一个委托
delegate void Func(int x);
简单使用
namespace ConsoleApp2;
class Program
{
/**
* 委托
*/
public delegate double CalculateFunction(double x, double y);
/**
* 加法
*/
static double Add(double x, double y)
{
return x + y;
}
/**
* 减法
*/
static double Subtract(double x, double y)
{
return x - y;
}
// Test方法的参数就是一个方法,
static void Test(CalculateFunction calculateFunction)
{
Console.Write("请输入x的值:");
double x = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入y的值:");
double y = Convert.ToDouble(Console.ReadLine());
double result = calculateFunction(x, y);
Console.WriteLine($"x与y委托计算的结果>>>{result}");
}
static void Main(string[] args)
{
// CalculateFunction cal = new CalculateFunction(Add);
// double d = cal(3, 4);
// Test(new CalculateFunction(Add));
Test(Add); // 简写
Test(Subtract);
Console.ReadKey();
}
}
接口实现了类的依赖注入
委托实现了方法的依赖注入
标签:Console,CalculateFunction,委托,c#,double,Add,Test From: https://www.cnblogs.com/ritchieojo/p/18574667