求助,计时器如何轮流执行两个参数类型是(object sender, EventArgs e)的方法??

KyKiske22 2016-10-11 03:29:53
RT,以timer1为例。
...全文
127 4 打赏 收藏 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
再给重新说一遍,不是什么“ABC_DEF 和 GHI_JKL两个方法”,而应该是“abcdef、ghijkl”两个方法的设计问题。 相当于,你没有关心实质内容方法,而是仅仅纠结于 vs 给你产生的累赘的“帽子”去了。
  • 打赏
  • 举报
回复
至于说调用“两个”方法的问题,你定义一个 bool 变量或者 int 变量来标记该调用哪一个,就行了。 这应该不是什么困难的“设计”任务。
  • 打赏
  • 举报
回复
调用用一个方法,可以写
abc(null,null);
也就是用 null 作为参数。 但是一般来说,舍近求远去“调用”诡异的参数是垃圾做法。一个方法之所以有这样的参数,那是因为它是 vs 给你自动产生的,是用来直接适配其它事件的(而不是你的代码直接调用的)。例如
protected void ABC_DEF(object sender, EventArgs e)
{
    abcdef();
}
这样一个方法,你应该直接调用 abcdef,而不是去调用 ABC_DEF。因为后者是适配其它事件的,而给不同事件直接调用的是前者。搞懂两个接口的区别才不荒唐诡异。
stherix 2016-10-11
  • 打赏
  • 举报
回复
直接的办法没有 自己写代码呗 class AlterFuncs { List<EventHandler> Handlers; int CurrentIndex; public void InvokeNext() { CurrentIndex= (CurrentIndex+1)%Handlers.Count; Handlers[CurrentIndex](sender, args); } }

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧