1. 在文件 OutputChoose.cs 中封装了方法作为委托:
using System;
using System.Collections.Generic;
using System.Text;
namespace beta
{
class OutputChoose
{
public string message = "你有新消息,请注意查收。";//声明短消息字串
public delegate void BetaDel(string str);//定义委托注册事件
public event BetaDel MyEvent;//声明事件
public void OnLoad()
{
if (MyEvent != null)
{
MyEvent(message);
}
}
}
}
2.添加一个用户消息类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace beta
{
class UserMessage
{
public void Output(string str)
{
System.Console.WriteLine("用户发送给你一个消息:" + str);
}
}
}
3.添加一个系统消息类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace beta
{
class SystemMessage
{
public void SystemOutput(string str)
{
Console.WriteLine("系统发送给你一个消息:" + str);
}
}
}
4.在主函数中可以触发事件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace beta
{
class Program
{
static void Main(string[] args)
{
OutputChoose opc = new OutputChoose();
SystemMessage msg = new SystemMessage();
opc.MyEvent += msg.SystemOutput;//注册方法
opc.OnLoad();//开始自动调用所注册的方法
Console.ReadKey();
}
}
}