委托
委托 在net框架中其实就是一个类,所以定义的时候你可以随便找个地方定义,比如在其他的类里面或者直接在命名空间下定义都可以;另外既然它也是类,所以使用的时候你就要实例化它,例如:
1 delegate int MyDelegate(int i);
//上面这句就是声明一个委托,其中网上所谓的签名就是指的返回类型int和参数int i;这个委托声明后,只能和签名相同的方法绑定使用,例如:
//其中myMethod就是你在后面要调用的方法了,它的签名必须和委托的一致,即拥有相同的返回类型和参数
2 public int myMethod(int j)
{
return ++j;
}
在实例化委托的地方就可以直接调用方法
3 MyDelegate MyD=new MyDelegate("myMethod");//实例化
4 MyD(5);//这里其实调用的就是meMethod方法,返回6;
什么时候使用委托:winForm开发中线程间方法调用需要用委托,比如子线程不能直接调用主线程的方法。
浙公网安备 33010602011771号