有沒有辦法「告訴」C#不要等待對象的方法返回?不想等待方法返回
使用COM(VbScript)我可以在不等待它返回的情況下觸發一個方法,所以我想以相同的方式使用C#。
VBScript代碼:
Dim qtApp
Set qtApp = CreateObject("QuickTest.Application")
qtApp.Open("C:\Temp\Test")
qtApp.Run '// VbScript does not wait for this method to finish
Set qtApp = Nothing
C#代碼:
//Refer the object
var qtApp = new QuickTest.Application();
//Open the test
qtApp.Open("C:\\Temp\\Test");
qtApp.Test.Run(); //<<== @ this step my code is waiting for the Run method to return
qtApp.Test.Pause(); //<<== This line is never executed until Run returns
評論:
- 對象引用(
QuickTestApplication
)是COM對象具有用於運行和方法暫停(如上面的代碼所述)。 - 對我來說
QuickTestApplication
是一個黑盒子 - 我不想使用
Thread
或ASync
(這基本上是線程),但QuickTestApplication
構建的方法
我真的很簡單的答案,如果它可以用C#完成
運行在一個單獨的線程的方法?你能否提供更多細節? – Tudor 2012-04-24 19:55:07
有問題的COM對象是否與當前線程關聯?請記住,COM對象通常是單線程單元模型。 – 2012-04-24 19:58:48
@EricLippert:我的應用程序不是單線程的,我想使用它的方法。感謝您的評論 – 2012-04-24 21:38:29