C#事件

public class FB
{
//事件:关键字event
//将委托封装成了一个类型
public event Publish makePub;
//方法:
//发布的方法:
public void MakePublish(string name) {
if (makePub!=null)
{
Console.WriteLine("小说更新啦~~~");
//调用事件(委托)
makePub(name);
}
}
}
public class 小明
{
public static void Print(string name)
{
Console.WriteLine(name + "可了不得,终于更新了!");
}
}
public class 小丽
{
public static void PrintB(string name)
{
Console.WriteLine(name + "才更新,取关!");
}
}
public class 小王
{
public static void PrintC(string name)
{
Console.WriteLine(name + "可算更新了,养肥了再去看吧!");
}
}
/*
事件:
事件在类中声明且生成,并且通过使用同一个类或者其他类型的委托和事件去处理程序
包含事件的类用于发布事件,一般发布者
其他接收事件的类成为订阅者
在发布者类中委托去调用订阅者类中的方法,进行事件处理
*/
//发布者:
FB fb = new FB();
//让订阅者去绑定发布者
fb.makePub += 小明.Print;
fb.makePub += 小丽.PrintB;
fb.makePub += 小王.PrintC;
//调用:
fb.MakePublish("YAOER");
posted @ 2018-09-26 20:55  黑域泡泡  阅读(95)  评论(0)    收藏  举报