在不同的类中定位对象变量

时间:2017-03-06 01:07:01

标签: class c#-4.0

所以,如果没有在这里发布我的整个项目,我会尽我所能总结:

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岁。所以,请你给予的任何帮助都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

好吧,这是一个肮脏的答案,但我打算使用字典来存储Object变量,并且有一个评估者方法,它传递正确的定时器组的ID,以及下一个要运行的计时器的索引。然后调用下一个计时器,依此类推。 对于Prototype来说很脏但很实用。