ApartmentState.STA
生活随笔
收集整理的這篇文章主要介紹了
ApartmentState.STA
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
需要設置子線程?ApartmentState 為?STA 模式,但 Task?又不能直接設置?ApartmentState,因此需要用 Thread 來封裝一下。
using System.Threading; using System.Threading.Tasks;public static Task<T> StartSTATask<T>(Func<T> func) {var tcs = new TaskCompletionSource<T>();var thread = new Thread(() =>{try{tcs.SetResult(func());}catch (Exception e){tcs.SetException(e);}});thread.SetApartmentState(ApartmentState.STA);thread.Start();return tcs.Task; }var task = StartSTATask<WebBrowser>(() => {WebBrowser browser = new WebBrowser();return browser; });總結(jié)
以上是生活随笔為你收集整理的ApartmentState.STA的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网易邮箱邮件地址怎么填(网易邮箱地址怎么
- 下一篇: 爱是什么(说一说爱是什么的简介)