所以我的要求是让我的函数等待第一个实例eventAction来自另一个类和另一个线程,并在我的线程上处理它,允许等待被超时或CancellationToken中断.我想创建一个我可以重用的通用函数。我设法创建了几个选项来满足(我认为)我的需要,但两者似乎都比我想象的要复杂。用法需要说明的是,此函数的示例用法如下所示,其中serialDevice在一个单独的线程上吐出事件:vareventOccurred=Helper.WaitForSingleEvent(cancellationToken,statusPacket=>OnStatusPacketReceived(statusPacke