110,567
社区成员
发帖
与我相关
我的任务
分享
public override Task<ClassA> GetClassA()
{
return Task.Run(()=>{
ClassA a = new ClassA();
return a;
});
}
public override async Task<ClassA> GetClassA()
{
return await Task.Run(()=>{
ClassA a = new ClassA();
return a;
});
}
public override async Task<ClassA> GetClassA()
{
await Tasks.Yield();
ClassA a = new ClassA();
return a;
}
public override ClassA GetClassA()
返回类型的方法,你现在却定义为 Task<ClassA> 作为函数返回值这本身应该算是增加了一层繁琐。当然,为了实现某种接口规格而返回 Task,那么你可以使用 await Tasks.Yield。实际上可以不考虑 Task.Run。 public static async Task t()
{
var web = new WebClient();
var r = await web.UploadDataTaskAsync("http://localhost:12341", Encoding.UTF8.GetBytes("spsp1234"));
var s = Encoding.UTF8.GetString(r);
Debug.Assert(s.StartsWith("path 长度="));
}
public override Task<ClassA> GetClassA()
{
await Tasks.Yield();
ClassA a = new ClassA();
return a;
}
public override Task<ClassA> GetClassA()
{
ClassA a = new ClassA();
return Task.FromResult(a);
}