黑马程序员——委托的基本使用

来源:互联网 发布:那家博客公司数据准确 编辑:程序博客网 时间:2024/05/21 11:18

------- Windows Phone 7手机开发、.Net培训、期待与您交流! ------- 

委托的基本使用
在.Net FrameWork中,如果要传递方法,就必须把方法细节封装在一种新类型的对象中,即委托。委托只是一种特殊类型的对象,它只包含一个或多个方法的地址。
声明委托:
注意:其语法与方法类似,但没有方法体。
定义委托基本上是定义一个新类,所以可以在定义类的任何相同的地方第一委托。可以在另一个类的内部,可以在任何类的外部,也可以在命名空间中将其定义为顶级对象
[访问修饰符] delegate [返回类型] [委托名字]([参数1],[参数2],...);
public delegate int DelegateDemo(int x,int y);
使用委托:
声明好委托后,就可以创建它的一个实例,用它来存储方法的细节。
注意:在术语方面,“类”表示一个比较广泛的定义,“对象”表示类的实例,但委托只有一个术语,创建的委托的实例也叫委托。
使用委托的例子:

//是一个获得两数乘机的方法
public int GetSquare(int a,int b)
{
int square = 0;
square = a * b;
return square;
}
  
//声明一个委托,有两个参数
public delegate int DelegateDemo(int x,int y);
//click事件
private void button3_Click(object sender, RoutedEventArgs e)
{
int b = 2;
//实例化一个委托
DelegateDemo delegateDemo = new DelegateDemo(GetSquare);
//将委托作为参数传给方法 MessageResault
MessageResault(delegateDemo, b,3);
}
//弹出结果
public void MessageResault(DelegateDemo demo, int value,int value2)
{
int z = demo(value,value2);
MessageBox.Show(z.ToString());
}