C#中的委托类似于C/C++中的函数指针。可以将委托类型的对象绑定到一个方法上。之后通过向委托对象传入参数来调用该方法。
使用委托的方式:
1、声明一个委托类型,声明中指定了委托类型可引用的方法的参数和返回类型,声明形式:delegate int myDelegate(string s); // 声明了一个需要绑定到 返回类型为int,参数类型为string的函数 的委托类型myDelegate。
2、使用new关键字来创建一个委托实例,形式:委托类型名 委托实例名 = new 委托类型名(委托要绑定到的方法名); 示例:NumberChanger nc1 = new NumberChanger(AddNum);// NumberChanger是一个委托类型,nc1是一个委托实例,AddNum是nc1绑定到的方法。AddNum的形参和返回类型必须与Numberchanger一致。
3、使用创建的委托实例来调用委托绑定的方法:委托实例名(方法参数) ,示例: nc1(1, 2); // 该语句相当于AddNum(1, 2);
C++中的委托
类A中有一根指针指向类B,此时称类A、B之间的关系是类A委托类B