C# Error
CS4033 – 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’.
Example
The following sample generates CS4033:
// CS4033.cs (7,9)
using System.Collections.Generic;
class C
{
void M(IAsyncEnumerable<int> collection)
{
await foreach (var i in collection)
{
}
}
}
To correct this error
To correct this error, change the signature of method M
to make it asynchronous:
using System.Collections.Generic;
class C
{
async void M(IAsyncEnumerable<int> collection)
{
await foreach (var i in collection)
{
}
}
}