微软公司在设计运行于.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 = o