我正在实现一个具有BeginSomething()
和EndSomething()
对的接口,并且我的实现在一个方法中Execute()
所以我创建了一个Action action = Execute
,并action.BeginInvoke
在 BeginSomething 和action.EndInvoke
EndSomething 中调用。但是,我的 Execute 方法必须由其单元状态为 STA(单线程单元)的线程调用。通常这是通过调用来完成的Thread.SetApartmentState
,但在这种情况下,我不知道哪个线程将调用我的方法。
我应该如何使调用线程成为 STA?