一个简单的委托和事件的应用,有一个简单的打印字符串的方法Print1(),现在用事件让控制台在打印完后不要自动关闭。声明一个委托的dePrint1没有参数,然后将它绑定到事件Readkey,那么在执行Print1()方法时就会触发事件然后执行与之绑定的委托的方法。这样的好处就是等于在方法Print1()里面放了一个参数固定可以自定义的方法体的方法。需要时只需要把方法的委托绑定进事件就可以了。
namespace EventTest1
{
delegate void dePrint1();
class PrintStr
{
public event dePrint1 Readkey;
public void Print1(string i)
{
Console.Write(i);
Readkey();
}
}
class Program
{
public static void Print1()
{
Console.ReadKey();
}
static void Main(string[] args)
{
PrintStr printstr = new PrintStr();
printstr.Readkey+= new dePrint1(Program.Print1);
printstr.Print1("1");
}
}
}