我对 C# 有点陌生,我正在编写一个概念验证客户端/服务器应用程序。现在我正在尝试使用后台工作人员从类中更新列表框。这样我就可以提供基本的日志记录。我知道仅使用列表框并不是最佳选择。
我已经根据以下代码向我的班级添加了一个事件处理程序: BackgroundWorker report progress from external Class?
但是我收到以下错误:无法分配给“ReportProgress”,因为它是“方法组”
我试图减少我的代码只显示相关部分。另外我还没有完全实现上一课的代码,我只想知道我缺少什么导致错误。我觉得这可能很简单。
Form1.cs
namespace V12
{
public partial class Form1 : Form
{
//Background Workers
private BackgroundWorker serverWorker = new BackgroundWorker();
public Form1()
{
InitializeComponent();
//Server Backgroundworker
serverWorker.WorkerReportsProgress = true;
serverWorker.ReportProgress += new EventHandler<Server.ProgressArgs>(serverWorker_ReportProgress); //Error on this line
serverWorker.DoWork += new DoWorkEventHandler(serverWorker_DoWork);
}
private void serverWorker_DoWork(object sender, DoWorkEventArgs e)
{
//my work is here
}
protected void serverWorker_ReportProgress(object sender, Server.ProgressArgs e)
{
serverWorker.ReportProgress(e.Percentage, e.Message);
}
}
服务器.cs
namespace V12
{
public sealed class Server
{
//Allows for updating of control on the UI Thread
public EventHandler<ProgressArgs> ReportProgress;
// Eventargs to contain information to send to the subscriber
public class ProgressArgs : EventArgs
{
public int Percentage { get; set; }
public object Message { get; set; }
}
}