首页 新闻 会员 周边 捐助

Timer定时器怎么传参?

0
悬赏园豆:10 [已解决问题] 解决于 2012-12-08 17:08

怎么 把device当做参数传给timer_Elapsed方法?

Invictus的主页 Invictus | 初学一级 | 园豆:76
提问于:2012-11-29 13:31
< >
分享
最佳答案
0
System.Timers.Timer timer = new System.Timers.Timer();
            timer.Interval = 1000;
            timer.Enabled = true;
            var test = "test";
            timer.Elapsed += (o1, e1) => {
                Console.WriteLine(test+DateTime.Now);
            };

            Console.ReadLine();
收获园豆:8
chenping2008 | 大侠五级 |园豆:9836 | 2012-11-29 13:40

请问上面的(o1,e1)是什么?我这样写就报错了

Invictus | 园豆:76 (初学一级) | 2012-12-01 00:08

@Invictus: 参数,跟你原先定义的timer_Elapsed中的参数一样的类型

你用的vs几?

至少要c#3.0才支持lambal语法

chenping2008 | 园豆:9836 (大侠五级) | 2012-12-01 09:37
其他回答(6)
0

你可以把device定义到方法体外

收获园豆:2
Rich.T | 园豆:3440 (老鸟四级) | 2012-11-29 13:32
0

定义为全局变量即可

az235 | 园豆:8483 (大侠五级) | 2012-11-29 13:48
0

楼上正解.全局变量.

只会造轮子 | 园豆:2274 (老鸟四级) | 2012-11-29 13:56
0

关注下

nickycookie | 园豆:106 (初学一级) | 2012-11-29 14:50
0

用匿名函数就可以解决了。参考  chenping2008  的回复

或者 参考 在System.timers.timer中给定时器触发的Elapsed事件传递参数

geass.. | 园豆:1821 (小虾三级) | 2012-11-29 15:59
0

楼上正解.全局变量.

jason2013 | 园豆:1998 (小虾三级) | 2012-11-30 09:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册