0
我有下面的代码,一个节拍器类在3秒钟的时间点创建事件,并且一个Listener类听到节拍器滴答,并在每次接收到事件时向控制台打印“滴答” 。我还想要做的是在“Tick”之前或之后链接进一步的事件,我应该能够处理其他事件,我在控制台窗口上看到的输出是这样的:事件处理,如何链接事件
“已处理的初始事件” “勾选” “已处理最终事件”
这可能吗?
namespace Events
{
using System;
class Program
{
static void Main(string[] args)
{
var m = new Metronome();
var l = new Listener();
l.Subscribe(m);
m.Start();
}
}
public class Metronome
{
public EventArgs e = null;
public delegate void TickHandler(Metronome m, EventArgs e);
public event TickHandler Tick;
public void Start()
{
while (true)
{
System.Threading.Thread.Sleep(3000);
if (Tick != null)
{
Tick(this, e);
}
}
}
}
public class Listener
{
public void Subscribe(Metronome m)
{
m.Tick += new Metronome.TickHandler(HeardIt);
}
private void HeardIt(Metronome m, EventArgs e)
{
Console.WriteLine("Ticked");
}
}
}
混乱的标题,你只有一个单一的事件。 – Maarten
我目前有一个单一的事件,我的问题是关于如何改变它,所以这可以处理多个事件。 – 03Usr