public static Class Taskasynchelper
{
<summary>
Asynchronously runs a method function and executes a callback when execution is complete callback
</summary>
<param name= "function" > Async method, the method has no arguments, the return type must be void</param>
<param name= "Callback" > The callback method executed at the completion of the Async method, which has no arguments, the return type must be void</param>
public static async void RunAsync (action function, action callback)
{
Func<system.threading.tasks.task> Taskfunc = () =
{
Return System.Threading.Tasks.Task.Run (() =
{
function ();
});
};
await Taskfunc ();
if (callback! = NULL)
Callback ();
}
<summary>
Asynchronously runs a method function and executes a callback when execution is complete callback
</summary>
<typeparam name= "TResult" > Return type of async method </typeparam>
<param name= "function" > Async method, the method has no arguments, the return type must be tresult</param>
<param name= "Callback" > The callback method executed when the Async method executes, the method parameter is TResult, the return type must be void</param>
public static async void Runasync<tresult> (func<tresult> function, action<tresult> callback)
{
Func<system.threading.tasks.task<tresult>> Taskfunc = () =
{
Return System.Threading.Tasks.Task.Run (() =
{
return function ();
});
};
TResult RLT = await taskfunc ();
if (callback! = NULL)
Callback (RLT);
}
}
The. Net5 Async