C#:'function'没有重载匹配委托System.Threading.WaitCallBack

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#:'function'没有重载匹配委托System.Threading.WaitCallBack相关的知识,希望对你有一定的参考价值。

所以我最近一直在使用线程并且错误(C#:'Generic_Function'没有重载匹配委托System.Threading.WaitCallBack)让我感到困惑。

起初我以为必须传递参数,然后我才知道它很容易为空。

ThreadPool.QueueUserWorkItem(new WaitCallback(Generic_Function), null);

不应该是函数,然后定义为:

void Generic_Function(){
 //Code here
}

但是,我收到了一个错误。我在这里错过了什么,我很难过。我已经尝试过阅读文档,但我想我并没有完全理解它。如果有人能解释,我会很感激。非常感谢!

答案

根据documentation,WaitCallback定义如下:

public delegate void WaitCallback(object state);

因此,如果您希望代码能够正常工作,则可以进行此修改:

void Generic_Function(object state)
{
    //Code here
}
另一答案

如果由于某些原因你无法改变Generic_Function签名,你可以用lambda打包一个调用:

ThreadPool.QueueUserWorkItem(_ => Generic_Function());

以上是关于C#:'function'没有重载匹配委托System.Threading.WaitCallBack的主要内容,如果未能解决你的问题,请参考以下文章

'mysql'没有重载匹配委托'ElapsedEventHandler'。 Windows服务C#

即使我重载了赋值,也没有可行的重载'='错误

我收到错误:调用重载'max(Cents&,Cents&)'是不明确的[重复]

运算符重载中没有运算符'=='匹配[重复]

C++error C2511: overloaded member function 'void (void)' not found in 'class'请大神指教

C ++重载解决方案[重复]