У меня есть вызываемый сторонний COM-объект, который использует обратный вызов события, чтобы сообщить, что он выполнил свою задачу.
obj.Start();
затем, через некоторое время, произойдет событие, сообщающее, что оно сделано.
void OperationFinished()
Я хотел бы иметь возможность выполнять эту операцию синхронно и пытался использовать AutoResetEvents для обработки этого
, например
obj.Start();
m_autoReset.WaitOne();
и в обработчике событий:
void OperationFinished()
{
m_autoReset.Set();
}
но кажется, что и Set (), и WaitOne () находятся в одном потоке, поэтому он застревает. Есть ли простой способ справиться с этим?