ThreadPool.RegisterWaitForSingleObject для Compact Framework? - PullRequest
0 голосов
/ 09 ноября 2009

Я должен перенести проект в компактную среду. И не может конвертировать в

ThreadPool.RegisterWaitForSingleObject (WaitHandle, WaitOrTimerCallback, object, int, bool)

Что может быть альтернативным способом для ThreadPool.RegisterWaitForSingleObject в c #

lock (this.RegLock)
{
    if (!this.WaitFlag)
    {
        this.mre.Reset();
        if (this.handle != null)
        {
            this.handle.Unregister(null);
        }
      this.handle = ThreadPool.RegisterWaitForSingleObject(this.mre, this.WOTcb, null, this.Interval, true);
    }
    else
    {
        this.StartFlag = true;
        if (this.Interval < this.timeout)
        {
            this.timeout = this.Interval;
        }
    }
}

1 Ответ

2 голосов
/ 09 ноября 2009

Вы можете создать свой собственный поток и ждать там дескриптора:

void RegisterWaitForSingleObject(WaitHandle waitHandle, WaitOrTimerCallback callback, object state, int timeout)
{
    var thread = new Thread((ThreadStart)
        delegate()
        {
            if (waitHandle.WaitOne(timeout, false))
            {
                callback(state, false);
            }
        });

    thread.IsBackground = true;
    thread.Start();
}
...