什么是委托?
1:委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用
2:在实例委托时,可以将其实例与任何具有兼容签名和返回类型的方法相关联,可以通过委托实例调用方法,也可以使用委托将方法作为参数传递给其他方法
委托使用
1:委托声明决定了可由委托引用的方法,委托可指向一个与其相同标签的方法。
2:语法
public delegate <return type> <delegate-name> <parmeter list>
其中 return type 表示返回类型,delegate-name 表示委托名,parmeter list 表示参数列表。
3:委托实例化
在C#中使用 delegate 关键字定义委托,因为委托是一种特殊的类,所以使用委托与使用类相似,需要用new 实例化委托。
4:调用委托
一般可以使用委托对象的lnvoke() 方法来调用委托。
实例
我们可以用委托做一个简单的加减乘除
1:先定义一个委托
//定义算数委托
public delegate double suan(double a, double b);
2:定义几个加减乘除的方法
//求和方法
public static double he(double a,double b)
{
return a + b;
}
//求差
public static double cha(double a, double b)
{
return a - b;
}
//乘
public static double chen(double a, double b) {
return a * b;
}
//除
public static double chu(double a, double b)
{
return a / b;
}
3:然后在定义一个通用的方法`
//计算方法
public static void all(suan suan, double a,double b)
{
Console.WriteLine(suan.Invoke(a,b));
}
4: 最后就可以直接使用了
//计算12,13的和
all(he, 12, 13);
//计算15和10的差
all(cha, 15, 10);