微软公司在设计运行于.NET Framework 平台之上的面向对象语言(如C#和VisualBasic.NET)时引入了这一新特性。
int i; //定义变量
i=100; //给变量赋值
委托(delegate)也可以看成是一种数据类型,它所定义的变量能接收的数值只能是一个函数。委托类型的变量可以接收一个函数的地址,很类似于C++语言的函数指针。
public class MathOpt
{
public int Add(int argument1, int argument2)
{
return argument1 + argument2;
}
}
public delegate int MathOptDelegate(int value1, int value2);//定义一个委托数据类型MathOptDelegate。它规定了委托类型MathOptDelegate 的变量只能接收这样的函数:拥有两个int 类型的参数,并且返回值类型也是int。只要是满足上述要求的函数,不管它是静态的还是实例的,都可以传给委托类型MathOptDelegate 的变量oppDel。定义委托类型时对函数的要求被称为函数的“签名(signature)”。
class Program
{
static void Main(string[] args)
{
MathOptDelegate oppDel;//定义好了委托数据类型,在Main()方法中即可定义一个此委托类型的变量
MathOpt obj = new MathOpt();
oppDel = obj.Add;//委托变量接收一个对象的方法引用,赋值之后的委托变量可以当成普通函数一样使用
Console.WriteLine

本文详细介绍了.NET Framework中的委托概念,通过实例展示了如何声明、赋值和使用委托,以及如何创建和操作多路委托,揭示了委托如何作为函数指针实现方法调用,并演示了委托在批量执行和事件处理中的应用。
522

被折叠的 条评论
为什么被折叠?



