在注册事件时,使用EventHandler委托;
// 摘要:
// 表示将用于处理不具有事件数据的事件的方法。
//
// 参数:
// sender:
// 事件源。
//
// e:
// 不包含事件数据的对象。
public delegate void EventHandler(object sender, EventArgs e);
练习:
class Program
{
static void Main(string[] args)
{
PlayMusic p = new PlayMusic("年少有为");
//注册要执行的事件
p.DelPalyOver += P_DelPalyOver;
p.PlaySongs();
Console.ReadKey();
}
private static void P_DelPalyOver(object sender, EventArgs e)
{
PlayMusic p = sender as PlayMusic;
Console.WriteLine("播放完毕"+p.Name);
}
}
class PlayMusic
{
public event EventHandler DelPalyOver;//注册时间
private string _name;
public PlayMusic(string name)
{
this.Name = name;
}
public string Name { get => _name; set => _name = value; }
public void PlaySongs()
{
Console.WriteLine("正在播放音乐"+this.Name);
Thread.Sleep(3000);
if (DelPalyOver!=null)
{
EventArgs e = new EventArgs();
DelPalyOver(this, e);
}
}
}

1195

被折叠的 条评论
为什么被折叠?



