我无法注册进度更改事件。带有来自问题标题的上述错误消息。
代码:
public class AudioFileSearcher
{
public AudioFileSearcher(string searchPath, bool includeSubFolders, Views.SoundListView.SoundList parentView)
{
this.progress1 = new Progress<int>();
progress1.ProgressChanged += backgroundWorker1_ProgressChanged; //<- Error Here!
}
// void backgroundWorker1_ProgressChanged(object sender, EventArgs e) // also not working
void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
// Do something
}
public async Task FindAudioFiles(IProgress<int> progress)
{
foreach (string item in longItemList)
{
// do long operation
if (progress != null)
progress.Report(0);
}
}
}
我检查的每个示例和堆栈溢出问题都表明问题所在
void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
这将是正确的
void backgroundWorker1_ProgressChanged(object sender, EventArgs e) // also not working
不幸的是,我检查过的有关 IProgress 的其他问题都有不完整或伪示例,这些示例对我不起作用。