所以,如果没有在这里发布我的整个项目,我会尽我所能总结:
class Program
{
static void Main(string[] args)
{
Thing one = new Thing();
one.addTimer(10);
one.addTimer(4);
one.addTimer(2);
one.addTimer(8);
}
}
class Counter
{
private int Seconds;
private int TimerNum;
public Counter(int SecondsX)
{
Seconds = (SecondsX * 1000);
}
public void TimerCall(){
Thread.sleep(Seconds);
CounterCallBack();
}
public void CounterCallBack()
{
Console.WriteLine("Timer " + TimerNum + " Done");
//Then the time is up the call back is executed
//The issue I am having is how do I trigger the next timer for the list timers to go from hear automatically. It would send back TimerNum to Thing.Continue
}
}
class Thing
{
List<int> timers = new List<int>();
public Thing()
{
}
public void addTimer(new Timer(int SecondsToAdd))
{
timers.Add(SecondsToAdd);
}
public void StartTimers(){
timers[0].TimerCall();
}
public void Continue(int LastRun){
if(timers.count()-1>= LastRun){
timers[LastRun].TimerCall();
}
}
}
所以我需要从计数器访问Continue方法以启动下一个计时器。
或者我需要找到一种方法来做同样的事情。
但是,用户需要能够编辑,添加和删除计时器(从Program
类开始)
请记住,在我的程序中(这是一个简化版本)Counter
是一个异步运行的计时器Call和CallBack。
甚至可以吗?或者我是否需要废弃这种方法并从方方面开始?
另外,我知道这很粗糙,但是这个项目是为了慈善事业,我计划在这个原型工作后清理它。我也是16岁。所以,请你给予的任何帮助都将受到赞赏。
答案 0 :(得分:0)
好吧,这是一个肮脏的答案,但我打算使用字典来存储Object变量,并且有一个评估者方法,它传递正确的定时器组的ID,以及下一个要运行的计时器的索引。然后调用下一个计时器,依此类推。 对于Prototype来说很脏但很实用。