Task.CompletedTask 提示task没有CompletedTask这个方法
时间: 2024-01-11 20:04:36 浏览: 175
`CompletedTask` 是一个静态属性,用于创建一个已经完成的 `Task` 对象,它没有 `CompletedTask` 方法。可以使用以下方式来创建一个已完成的 `Task` 对象:
```csharp
Task completedTask = Task.CompletedTask;
```
或者使用 `Task.FromResult` 方法来创建一个已完成的 `Task` 对象:
```csharp
Task completedTask = Task.FromResult(0);
```
这两种方式都会创建一个已完成的 `Task` 对象,可以直接使用。
相关问题
Task tss = Task.CompletedTask; 提示没有CompletedTask相关定义
`CompletedTask` 是 .NET Framework 4.6 中新增的一个静态任务,返回一个已完成的 Task 对象。如果您使用的是 .NET Framework 4.6 以下的版本,则可以使用以下方式创建一个已完成的任务:
```
Task tss = Task.FromResult(0);
```
或者
```
Task tss = Task.Factory.StartNew(() => { });
```
这两种方式都可以创建一个已完成的 Task 对象。
Task completedTask = Task.CompletedTask; 替换这个方法,当前是.NET Framework 4.0
在.NET Framework 4.0中,可以使用以下代码替代Task.CompletedTask:
```
TaskCompletionSource<object> tcs = new TaskCompletionSource<object>();
tcs.SetResult(null);
Task completedTask = tcs.Task;
```
这里我们使用`TaskCompletionSource`来创建一个新的任务,然后通过`SetResult`方法设置任务结果为`null`,最后返回该任务。这个任务与`Task.CompletedTask`一样,是一个已经完成的任务。
阅读全文