我试图以这种方式使用该方法:
public void Method()
{
ThreadPool.QueueUserWorkItem(() =>
{
while(!paused)
{
ThreadPool.QueueUserWorkItem(() => {...);
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
问题来了,因为它在第一次调用时抛出了编译错误.
错误CS1593:委托
System.Threading.WaitCallback' does not take0'参数
知道怎么做没有参数吗?,任何替代?
Jon*_*eet 12
你可以只提供lambda表达式的参数,并忽略它:
ThreadPool.QueueUserWorkItem(ignored =>
{
while(!paused)
{
ThreadPool.QueueUserWorkItem(alsoIgnored => {...});
}
});
Run Code Online (Sandbox Code Playgroud)
或者使用匿名方法:
ThreadPool.QueueUserWorkItem(delegate
{
while(!paused)
{
ThreadPool.QueueUserWorkItem(delegate {...});
}
});
Run Code Online (Sandbox Code Playgroud)
如果您不关心匿名方法的参数,则不必说明它们.