using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 事件练习
{
/// <summary>
/// 定义传入事件的参数
/// </summary>
public class NetWorkEventArgs : EventArgs
{
public string stream = "";
}
/// <summary>
/// 定义事件发送者
/// </summary>
public class NetworkManager
{
//定义事件与对应的处理委托
public delegate void ProcessNetWork(object sender, NetWorkEventArgs args);
public event ProcessNetWork DownloadEvent;
/// <summary>
/// 将消息绑定到事件,发送消息
/// </summary>
public void DownloadComplete()
{
NetWorkEventArgs args = new NetWorkEventArgs();
args.stream = "Success";
DownloadEvent(this, args);
}
}
class Program
{
static void Main(string[] args)
{
NetworkManager manager = new NetworkManager();
//将处理方法绑定到委托,开始监听是否触发事件
manager.DownloadEvent += manager_DownloadEvent;
//触发事件
manager.DownloadComplete();
}
/// <summary>
/// 事件触发后,用于处理事件的方法
/// </summary>
/// <param name="sender"></param>
/// <param name="args"></param>
static void manager_DownloadEvent(object sender, NetWorkEventArgs args)
{
Console.WriteLine(args.stream);
Console.ReadKey();
}
}
}
C#事件
最新推荐文章于 2023-07-27 10:50:20 发布