1.C# 中的委托类似于 C 或 C++ 中的函数指针。使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的 代码,而不必在编译时知道将调用哪个方法。委托是面向对象、类型安全的,并且是安全的。
2.委托声明定义一种类型,它用一组特定的参数以及返回类型封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一个实例和该实例上的一个方法。如果您有一个委托对象和一组适当的参数,则可以用这些参数调用该委托。
(1) 展示如何声明、实例化和调用委托。
public delegate int excuse(int a,int b);
public static int add(int a,int b)
{
return a + b;
}
public static int product(int a,int b)
{
return a*b;
}
public static int chu(int a, int b)
{
return a % b;
}
public static int jian(int a,int b)
{
return a - b;
}
static void Main(string[] args)
{
testDelegate td = new testDelegate();
td.add(1,2);
excuse a,b,c,d;
a = new excuse(add);
b = new excuse(product);
c = new excuse(chu);
d = new excuse(jian);
int ff= a(1,9);
int bb = b(1,9);
int cc = c(1,9);
int dd = d(1,9);
Console.WriteLine("和:" + ff.ToString());
Console.WriteLine("积:" + bb.ToString());
Console.WriteLine("除:" + cc.ToString());
Console.WriteLine("减:" + dd.ToString());
Console.ReadLine();
}