例如,使用这样的调度程序类:
class Scheduler
{
public void Add(DateTime time, Action action);
...
}
我可以计划一个像这样的简单动作:
Scheduler scheduler= new Scheduler();
scheduler.Add(someTime, delegate() { Console.WriteLine("Done!"); });
现在我希望我的行动稍后重新计划,所以我写下这个:
scheduler.Add(someTime, delegate() { Console.WriteLine("Done!"); scheduler.Add(someTimeLater, !this current action!); });
但我怎么能指定!这个当前行动!或以另一种方式编码?
答案 0 :(得分:2)
您需要将其分配给变量才能执行此操作:
Action action = null;
action = () =>
{
Console.WriteLine("Done!");
scheduler.Add(someTimeLater, action);
};
scheduler.Add(someTime, action);