Sdílet prostřednictvím


Chyba kompilátoru CS8411

Asynchronní příkaz foreach nemůže pracovat s proměnnými typu type 'type', protože 'type' neobsahuje vhodnou definici veřejné instance pro GetAsyncEnumerator.

await foreach příkaz funguje pouze u typů, které mají definici GetAsyncEnumerator, například IAsyncEnumerable<T>.

Oprava této chyby

Nahraďte await foreachforeach.

Příklad

using System.Collections.Generic;
using System.Threading.Tasks;

class Program
{
    async Task Example(IAsyncEnumerator<int> enumerator)
    {
        // error CS8411: Asynchronous foreach statement cannot operate on variables
        // of type 'IAsyncEnumerator<T>' because 'IAsyncEnumerator<T>' does not
        // contain a suitable public instance definition for 'GetAsyncEnumerator'
        await foreach (int i in enumerator)
        {
        }
    }
}