C# Error
CS4032 – The ‘await’ operator can only be used within an async method. Consider marking this method with the ‘async’ modifier and changing its return type to ‘Task‘.
Reason for the Error & Solution
The ‘await’ operator can only be used within an async method. Consider marking this method with the ‘async’ modifier and changing its return type to ‘Task<T>’.
Example
The following sample generates CS4032:
// CS4032.cs (7,9)
using System.Collections.Generic;
using System.Threading.Tasks;
class C
{
static IAsyncEnumerator<int> M(int value)
{
yield return value;
await Task.CompletedTask;
}
}
To correct this error
To correct this error, change the signature of method M
to make it asynchronous:
using System.Collections.Generic;
using System.Threading.Tasks;
class C
{
static async IAsyncEnumerator<int> M(int value)
{
yield return value;
await Task.CompletedTask;
}
}