C#Question:“XXX”的重载均与“System.Threading.WaitCallback”不匹配。
public static class ThreadPool // 提供一个线程池,该线程池可用于执行任务、发送工作项、处理异步 I/O、代表其他线程等待以及处理计时器。 { [SecuritySafeCritical] public static bool QueueUserWorkItem(WaitCallback callBack); [SecuritySafeCritical] public static bool QueueUserWorkItem(WaitCallback callBack, object state); } public delegate void WaitCallback(object state); //表示线程池线程要执行的回调方法.
在调用回调方法时:
ThreadPool.QueueUserWorkItem(new WaitCallback(InsertBattleRecord), new RoomArgs(room, session.AppServer.Log));
报错:不明白原因。
从网上找到原因:
1、请参见 WaitCallback 委托的声明:
public delegate void WaitCallback(object state);
由此可见,需要一个无返回值的,并且有一个object型参数的方法才可以匹配。