Tag: raise

如何订阅已提升的活动并一起打印?

我一直在研究一个有3个类的程序,其中2个类具有以不同间隔重复的定时器,并且一旦定时器的一个“循环”完成,它就会引发一个带有字符串作为返回的事件。 第3类从其他两个计时器类订阅事件并将它们打印到屏幕。 它很棒! 但我的问题是它是单独打印它们。 让我们说第一个计时器类运行,然后每隔2分钟发出一次“hello”,另一个类“dog”每秒发出一次,每次发生一个事件时它都会将引发的事件打印到控制台。 我希望它反而每秒打印“hellodog”并将第一个计时器(你好)的值存储在一个私有字段或其他东西,所以它仍然打印到屏幕,即使计时器(较慢的2分钟计时器)还没有被解雇。 当2分钟计时器触发时,它会将值更新为新的值,并将新值打印到屏幕,直到它再次触发。 如果令人困惑,我会很乐意澄清。 有点难以解释。 namespace Final { public class Output { public static void Main() { var timer1 = new FormWithTimer(); var timer2 = new FormWithTimer2(); timer1.NewStringAvailable += new EventHandler(timer1_NewStringAvailable); timer2.NewStringAvailable += new EventHandler(timer2_NewStringAvailable); Console.ReadLine(); } static void timer1_NewStringAvailable(object sender, BaseClassThatCanRaiseEvent.StringEventArgs e) { var theString = e.Value; //To something with […]