2013-07-12 2 views
2
나는 방법에 BackgroundTransfer.DownloadOperation을 사용하고

로 사용하고 나는 진전이 업데이트 될 때 호출 할 호출자가 람다 식을 통과 할 수 있도록하려면 :람다 표현식 AsTask() 콜백

var progressCallback = new Progress<DownloadOperation>(DefaultProgressCallback); 
await dwo.StartAsync().AsTask(progressCallback); 

을하지만 어떻게 내가 람다 매개 변수이 작업을 수행 할 수 있도록를 정의합니까 :

DownloadOperation dwo = await DownloadFile(fileInfo,file); 

이 작동?

var progressCallback = lambdaFromMethodCaller; 
await dwo.StartAsync().AsTask(progressCallback); 
+1

을 허용하므로 lambda 매개 변수는 'Func'이 이에 대해 읽습니다. -> Func ''Func ' – wudzik

+0

@wudzik 매개 변수로'Func '을 시도했지만 다음과 같이 나타납니다. 'System.Progress '형식을 암시 적으로 변환 할 수 없습니다. 'to'System.Func ' – Darajan

답변

3

그렇게,/Func을 위임 받아 서명을 포함하지 않는 사용하는 AsTask 확장 방법은 당신이 .AsTask(...=>...)

할 수없는하지만 당신은이 라인에서 람다를 사용할 수 있습니다

var progressCallback = new Progress<DownloadOperation>(...=>...); 

Progress<T>의 생성자가 Action<T>

+0

감사합니다. – Darajan

관련 문제