使用IProgress我使用任務在C++/CLI應用程序來管理一段時間沒有freezong的UI耗時的操作,作爲替換對BackgroundWorker.This的基本用法:C++/CLI在任務
WorkArguments ^arguments = gcnew WorkArguments(
//some argument objects as contructor parameters
);
Task::Factory->StartNew(gcnew Action<Object^>(this, &myForm::doSomeWork), arguments);
void myForm::doSomeWork(Object ^arguments) {
//doing some stuff
}
到目前爲止,這麼好。我現在的問題是,我無法弄清楚如何向我們提供IProgress接口,以便將完成的工作報告返回給我的用戶界面。我無法找到聲明與獲取IProcess對象的StartNew()兼容的委託的方式。
我發現的最接近的是AsyncInfo::Run<TProgress> Method (Func<CancellationToken, IProgress<TProgress>, Task>)
,althogh我不知道這是否是預期USAE,notevn嘗試它,因爲我不是很肯定這是porpouse,
我應該添加IProgress
實例我的WorkArguments
課?