我想创建一个在后台线程中运行另一个方法的方法。像这样的东西:
void Method1(string param)
{
// Some Code
}
void Method2(string param)
{
// Some Code
}
void RunInThread(AMethod m)
{
//Run the method in a background thread
}
我想创建一个在后台线程中运行另一个方法的方法。像这样的东西:
void Method1(string param)
{
// Some Code
}
void Method2(string param)
{
// Some Code
}
void RunInThread(AMethod m)
{
//Run the method in a background thread
}
如果您的方法有返回值,请使用Func委托,否则您可以使用Action委托。例如:
void Method1(string param)
{
// Some Code
}
void Method2(string param)
{
// Some Code
}
void RunInThread(Action<string> m)
{
//Run the method in a background thread
}
然后你可以RunInThread
这样调用:
RunInThread(Method1);
RunInThread(Method2);
我喜欢Task.Run
当我只想在后台线程中运行一点代码时。它甚至看起来与您要定义的签名几乎相同。还有很多其他的重载。
Task.Run(()=>{
//background method code
}, TResult);