先来看看委托与事件的实现流程吧
下面是我画了几分钟时间写个小小流程
public delegate void _GetInfo(string Info); //声明委托
public _GetInfo GetInfo; //委托的实现
/// <summary>
/// 设置info
/// </summary>
public void SetInfo()
{
while (true)
{
int Count = RandomCount();//模拟无规律事件
Thread.Sleep(Count);
GetInfo(string.Format("我是一个无规律事件,这个事件当我等待了“{0}”毫秒", Count.ToString()));
}
}
/// <summary>
/// 模拟无规律事件,比如说硬件数据上报
/// </summary>
/// <returns></returns>
public int RandomCount()
{
Random s = new Random();
return int.Parse(s.Next(1000, 9999).ToString());
}
//按钮点击 设置info
private void button1_Click(object sender, EventArgs e)
{
//以异步的形式
ThreadPool.QueueUserWorkItem(s => SetInfo());
//然后我们就绑定事件
GetInfo += FormGetInfo;
}
/// <summary>
/// 定义的事件 用来接收委托的回调数据
/// </summary>
/// <param name="Info"></param>
private void FormGetInfo(string Info)
{
Console.WriteLine(Info);
}
附上图片
委托加事件,实现符合场景的功能很简单
本文作者:[博主]大顺
本文链接:https://shunnet.top/yQVZzi
版权声明:转载注明出处,谢谢 ☺