委托
1.作用:可以通俗理解为函数指针,复制函数的功能,代替函数工作
语法
delegate 返回值类型 委托名字(参数类型 参数名, 参数类型 参数名);
委托的创建
//定义一个乘法功能
static double Multiply(double num1,double num2)
{
return num1 * num2;
}
static double Divide(double num1,double num2)
{
return num1 / num2;
}
//委托的申明
delegate double MyDelegate(double num1, double num2);
委托的使用
Console.WriteLine(Multiply(3,4));
Console.WriteLine(Divide(3,4));
//委托的创建
MyD d1;
//把一个函数赋值给委托
d1 = Multiply;
//实现Multiply功能
Console.WriteLine(d1(3, 4));
//把另一个函数赋值给委托
d1 = Divide;
//实现Divide功能
Console.WriteLine(d1(3, 4));
委托的返回值、参数类型必须和被委托的函数一样
static double Multiply(double num1,double num2)
{
return num1 * num2;
}
//返回值不一样
delegate int MyD(double num1, double num2);
MyD d1;
d1 = Multiply; //会报错