2013-02-16 2 views
0

위의 BackgroundWorker 클래스에서 진행 정보를 처리 할 수 ​​있습니다. 나는 정적 방법이 있습니다BackgroundWorker를 사용하여 올바른 메서드로 정적 메서드를 호출하는 방법

MyClass.MyMethod(string, string) // Does some work which progress I need to report 

어떻게 BackgroundWorker에 예를 들어이 같은 정보를 원하시면 진행 반환하는 모든 호출하는 함수 또는 프로세스에서 같은 방법을 사용할 수 있습니다 :

backgroundWorker.ReportProgress(percent, "Stage N 1..."); 

를?

답변

1

먼저 WorkerReportsProgress 속성을 True로 설정하십시오.

Progress changed event 에 이벤트 처리기를 추가하고 최소한 코드를 새 처리기에 추가하십시오. 예를 들어

:

private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e) 
{ 
    var percent = e.ProgressPercentage; 
} 

그러나 적어도

: 백그라운드 작업자 클래스가 더 많거나 적은 폐기 ( Windows statement를) 내가 내 말은 새로운 Task class

+0

를 사용하고 싶습니다입니다 MyClass.MyMethod (문자열, 문자열)은 진행 정보 - percent (int), message (string)과 연결되지 않은 몇 가지 필요한 인수를 취합니다. MyMethod는 필요한 위치에서 ReportProgress를 호출해야합니다. –

+0

예제에서 코드 부분이 제거되었지만 여전히 Task 또는 Asnyc가 아닌 BackgroundWorker를 사용하는 것이 좋습니다. – Venson

관련 문제