一、委托的简介
1、委托的声明:
<access modifier> delegate <returnType> HandlerName ([parameters])
例如:
public delegate void PrintHandler(string str);
委托声明定义了一种类型,它用一组特定的参数以及返回类型来封装方法。对于静态方法,委托对象封装要调用的方法。对于实例方法,委托对象同时封装一个实例和该实例上的一个方法。如果您有一个委托对象和一组适当的参数,则可以用这些参数调用该委托。
2、委托的使用:
using System;
public class MyClass
{
public static void Main()
{
PrintStr myPrinter = new PrintStr();
PrintHandler myHandler = null;
myHandler += new PrintHandler(myPrinter.CallPrint); // 将委托
链接到方法,来实例化委托
if(myHandler!=null)
myHandler("Hello World!"); // 调用委托,相当于匿名调用委托所链接的方法
Console.Read();
}
}
public delegate void PrintHandler(string str); // 声明委托类型
public class PrintStr
{
public void CallPrint(string input)
{
Console.WriteLine(input)