一.Delegate的定义说明:
C# 中的委托(Delegate)就是类似于 C 或 C++ 中函数的指针。Delegate 是存有对某个方法引用的一种引用类型变量,引用可在运行时是可以被改变的,特别适用于实现事件和回调方法。所有的Delegate都是派生自 System.Delegate 的类。
二.声明委托(Delegate):
声明委托的常规语法如下:
delegate <return type> <delegate-name> <parameter list>
//关键字 返回类型 委托变量名称 参数表
委托声明决定了可由该委托引用的方法,可指向一个与其具有相同标签的方法。
例如:
public delegate int MyDelegate (string s);
//用于引用任何一个带有一个单一的 string 参数的方法,并返回一个 int 类型变量的需求。
三.实例化委托(Delegate):
一旦声明了委托类型,委托对象必须使用 new 关键字来创建,且与一个特定的方法有关。当创建委托时,传递到 new 语句的参数就像方法调用一样书写,但是不带有参数。
如示例:
界面如图
代码:
class TestDelegate
{
static int num = 1;
public static int AddNum(int Num1)
{
num += Num1;
return num;
}public static int MultNum(int Num2)
{
num *= Num2;
return num;
}
public static int getNum()
{
return num;
}
}
delegate int NumberChanger(int n);
private void button15_Click(object sender, EventArgs e)
{
{
// 创建委托实例
NumberChanger nc1 = new NumberChanger(TestDelegate.AddNum);
NumberChanger nc2 = new NumberChanger(TestDelegate.MultNum);
// 使用委托对象调用方法
nc1(205);
numericUpDown11.Value = TestDelegate.getNum();
nc2(55);
numericUpDown12.Value = TestDelegate.getNum();
}
}
后续待写、、、、、、