1

4 時間が経過したときにこのコードが測定に失敗する理由がわかりません。

    if (guildVaultRunStarter.IsRunning)
    {
        if (guildVaultRunTimer.ElapsedMilliseconds > 4 * 60 * 60 * 1000) // 4 hours
        {
            guildVaultRunStarter.Reset();
            log("Its been over 4 hours - empty bags.");
            return true;
        }
        else
        {
            log("guildVaultRunTimer.ElapsedMilliseconds = " +
                guildVaultRunTimer.ElapsedMilliseconds.ToString() + ".");
        }
    }
    else
    {
        log("Start the 4 hour guild vault countdown.");
        guildVaultRunStarter.Reset();
        guildVaultRunStarter.Start();
    }

ロギングはこれを示しています:

[8/23/2009 12:17:21 PM]:Start the 4 hour guild vault countdown.
...
[8/23/2009 12:26:53 PM]:guildVaultRunTimer.ElapsedMilliseconds = 0.
...
[8/23/2009 12:27:26 PM]:guildVaultRunTimer.ElapsedMilliseconds = 0.

なぜ常に0なのですか?

4

2 に答える 2

5

guildVaultRunTimerとの間の単なるタイプミスguildVaultRunStarterですか?

すなわち

if (guildVaultRunStarter.ElapsedMilliseconds > ...

guildVaultRunTimer結局のところ、あなたは決して始めないようです。

于 2009-08-23T09:45:43.200 に答える
0

タイマーをインスタンス化する場所と、このコードをどこでどのように呼び出すか?

于 2009-08-23T09:43:08.227 に答える