나는 BeginSomething()
및 EndSomething()
쌍의 인터페이스를 구현하고, 내 구현하는 방법 Execute()
BeginInvoke 내 대리자가 될 스레드의 본질을 수정할 수 있습니까?
에 그래서 나는 Action action = Execute
를 작성하고 EndSomething에서 BeginSomething에서 action.BeginInvoke
및 action.EndInvoke
를 호출합니다. 그러나 Execute 메서드는 아파트 상태가 STA (단일 스레드 아파트) 인 스레드에 의해 호출되어야합니다. 일반적으로 Thread.SetApartmentState
을 호출하여이 작업을 수행하지만,이 경우에는 어떤 스레드가 내 메서드를 호출 할 것인지 알지 못합니다.
어떻게 호출 스레드를 STA로해야합니까?