有关于
的错误ParameterizedThreadStart op = new ParameterizedThreadStart(new EventHandler(this.SendResultToClient));
'SendResultToClient'没有重载匹配委托'System.EventHandler'
任何帮助
public void Add(double num)
{
double result = (num+10);
//Gets a channel to the client instance that called the current operation.
callback = OperationContext.Current.GetCallbackChannel<IAddNumDuplexCallback>();
//Represents the method that executes on a Thread.
ParameterizedThreadStart op = new ParameterizedThreadStart(new EventHandler(this.SendResultToClient));
Thread t = new Thread(op);
//t.IsBackground = true;
t.Start(result);
}
//The function
public void SendResultToClient(double result)
{
Thread.Sleep(500);
callback.Result(result);
}
}
}
答案 0 :(得分:2)
您以错误的方式使用ParameterizedThreadStart
。
ParameterizedThreadStart
是一个方法的委托,该方法接受一个类型为object的参数并返回void。
您需要更改SendResultToClient
方法:
public void SendResultToClient(object data)
{
double result = (double)data;
Thread.Sleep(500);
callback.Result(result);
}
以这种方式启动线程:
ParameterizedThreadStart op = SendResultToClient;
Thread t = new Thread(op);
t.Start(result);