【发布时间】:2014-10-20 01:41:54
【问题描述】:
我正在编写一个 Stream 类并在 ReadAsync 方法中被阻止。请看一下代码,我认为它可以更好地解释我的英语情况。
public override Task<int> ReadAsync(byte[] buffer, int offset, int count, System.Threading.CancellationToken cancellationToken)
{
if (!cancellationToken.IsCancellationRequested)
{
return _connection.ReceiveAsync(new ArraySegment<byte>(buffer, offset, count));
}
return // <--------------- what here?
}
使用 ILSpy 我可以看到其他 Stream 类返回一个已取消的任务,如下所示:
return new Task<TResult>(true, default(TResult), TaskCreationOptions.None, cancellationToken);
但是,Task 的构造函数是内部的,我无法调用它。
Google 根本没有帮助我。
【问题讨论】:
标签: task-parallel-library async-await c#-5.0 cancellation-token