是否可以在Dot Net 4.0类库中编写通用异步方法?
提出此问题的理由
因为那样我就可以在任何针对.Net 4.0的项目中使用这个dll。甚至可以在IDE中使用,例如VS 2010,它不支持等待和异步关键字。
问题
我的问题是我的主要应用程序代码是在.Net 4.0中我使用的是VS 2010.我在想我将使用VS 2012来创建一个通用的dll,我可以在我的主代码中引用它并使用它。
在我的应用程序中有一些代码花费时间并且在UI线程中引发,导致我的应用程序挂起。如果我可以实现我想要的,那么这些同步调用将不会挂起UI。
像这样的东西
public static class AsyncHelpers
{
public static async Task<T> RunMethodAsync<T>()
{
//What to do here?
}
}
答案 0 :(得分:2)
您可以在面向.NET 4.0的项目中使用async / await;您只需要引用Microsoft.Bcl.Async NuGet包,它提供了必要的类型。当然,您还需要C#5(或更高版本)编译器,这意味着VS2012或更新版本。