Partager via


Erreur du compilateur CS8411

L’instruction foreach asynchrone ne peut pas fonctionner sur des variables de type « type », car « type » ne contient pas de définition d’instance publique appropriée pour « GetAsyncEnumerator ».

L’instruction await foreach fonctionne uniquement sur les types ayant une définition de GetAsyncEnumerator, comme IAsyncEnumerable<T>.

Pour corriger cette erreur

Remplacez await foreach par foreach.

Exemple

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)
        {
        }
    }
}