public void ReportProgress (int percentProgress, object userState)
{
if (!WorkerReportsProgress)
throw new InvalidOperationException ("This background worker does not report progress.");
// FIXME: verify the expected behavior
if (!IsBusy)
return;
async.Post (delegate (object o) {
ProgressChangedEventArgs e = o as ProgressChangedEventArgs;
OnProgressChanged (e);
},
new ProgressChangedEventArgs (percentProgress, userState));
}