C#custom task.run()不执行函数 [英] C# custom task.run() does not execute function
本文介绍了C#custom task.run()不执行函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个非常简单的自定义Task.Run()方法。
使用.net Task.Run()方法工作正常,自定义方法不执行操作。
有什么想法吗?
我尝试了什么:
用法:
//工作
Task.Run(()=> TestTasks .CustomTasks.DummyTask());
//不起作用
TestHelpers.Tasks.Run(TestTasks.CustomTasks.DummyTask);
代码:
命名空间TestHelpers
{
公共静态类任务
{
public static string Run(Action action)
{
try
{
Task.Run(()=> action);
返回ok;
}
catch(exception ex)
{
return ex.Message;
}
}
}
}
命名空间TestTasks
{
公共静态类CustomTasks
{
public static void DummyTask()
{
for(int i = 0; i< 10; i ++)
System.Threading.Thread.Sleep(100);
}
}
}
解决方案
您必须替换任务。运行(()=>动作);
byTask.Run(action);
请查看 Task.Run方法(System.Threading.Tasks)| Microsoft Docs [ ^ ]
语法为public static System.Threading.Tasks.Task Run(Action action);
I have a very simple custom Task.Run() method.
Using the .net Task.Run() method works fine, the custom method does not execute the action.
Any ideas?
What I have tried:
Usage:
//works Task.Run(() => TestTasks.CustomTasks.DummyTask()); //does not work TestHelpers.Tasks.Run(TestTasks.CustomTasks.DummyTask);
Code:
namespace TestHelpers { public static class Tasks { public static string Run(Action action) { try { Task.Run(() => action); return "ok"; } catch (Exception ex) { return ex.Message; } } } } namespace TestTasks { public static class CustomTasks { public static void DummyTask() { for (int i = 0; i < 10; i++) System.Threading.Thread.Sleep(100); } } }
解决方案
You must replaceTask.Run(() => action);
byTask.Run(action);
Please have a look at Task.Run Method (System.Threading.Tasks) | Microsoft Docs[^]
The syntax ispublic static System.Threading.Tasks.Task Run (Action action);
这篇关于C#custom task.run()不执行函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文