委托作为参数传递时,可以直接传入方法名称,相当与new一个新委托。
例如:
1、我们先定义一个委托:
public delegate void MyTestHanader(object test);
2、现在我们写一个方法,传入参数是委托类型:
private void TestMethod(MyTestHanader test)
{
test("TestMethod");
}
3、此时再写另一个方法,该方法返回类型与参数与委托相同。
private void MyTestMethod(object test)
{
MessageBox.Show(test.ToString());
}
4、调用,此三种方式调用均可
1>
MyTestHanader tt = new MyTestHanader(MyTestMethod);
TestMethod(tt);
2>
TestMethod(new MyTestHanader(MyTestMethod));
3>
TestMethod(MyTestMethod);
1、2方式是标准调用,3方式等同于1、2方式。