Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使库方法调用异步?_C#_.net_Wpf - Fatal编程技术网

C# 如何使库方法调用异步?

C# 如何使库方法调用异步?,c#,.net,wpf,C#,.net,Wpf,我正在调用一个同步的库方法。我想使用新的async和wait功能,但我不确定如何使用,因为库不支持异步(不返回任务) 有什么方法可以做到这一点,或者我需要构建一个包装器来做什么?您可以通过在任务内部调用它来在后台线程中运行同步代码。运行类似这样的东西 using System.Threading.Tasks; new Task<bool>(() => { // Do something return true; }).Start(); 使用System.Th

我正在调用一个同步的库方法。我想使用新的
async
wait
功能,但我不确定如何使用,因为库不支持异步(不返回任务)


有什么方法可以做到这一点,或者我需要构建一个包装器来做什么?

您可以通过在
任务内部调用它来在后台线程中运行同步代码。运行类似这样的东西

using System.Threading.Tasks;

new Task<bool>(() =>
{
    // Do something
    return true;
}).Start();
使用System.Threading.Tasks;
新任务(()=>
{
//做点什么
返回true;
}).Start();

此方法同步执行的具体操作是什么?任务也是.net 4.0。如果确实要使用async/await,则需要编写一个具有标记为async的方法的包装类,该方法调用库方法。为什么不使用线程API实现自己的
BeginXXX
EndXXX
方法呢?是,但一定要考虑到这一点。仅适用于.NET Framework 4.5