如:
DispatcherTimer dispatcherTimer = new DispatcherTimer();
dispatcherTimer.Tick += (o, e) => { dispatcherTimer_Tick(o, e, driverVM); };
dispatcherTimer.Interval = new TimeSpan(0, 0, 2);
dispatcherTimer.Start();
上述红色代码处,dispatcherTimer.Tick接受的委托为void dispatcherTimer_Tick(object sender, EventArgs e),
这里只接受两个参数,但如果我们想再传入一个自定义类型的参数呢,可以利用Lambda表达式,再方法的外面以该委托的标准
封装多一层方法,做法如上述红色代码所示,相当于外层的匿名方法 (o, e) =>{}才是传给Tick的委托,而下面这个方法才是
我们真正想做的事情:
private void dispatcherTimer_Tick(object sender, EventArgs e, DriverViewModel driverVM)
{
....
}
时间: 2024-10-07 05:19:14