Iterador assíncrono Tarefa <IEnumerable <T>>

Estou tentando implementar uma função assíncrona que retorna um iterador. A ideia é a seguinte:

    private async Task<IEnumerable<char>> TestAsync(string testString)
    {
        foreach (char c in testString.ToCharArray())
        {
            // do other work
            yield return c;
        }
    }

No entanto, há uma mensagem de erro informando que a função não pode ser um bloco iterador porqueTask<IEnumerable<char>> não é um tipo de interface do iterador. Há uma solução?

questionAnswers(3)

yourAnswerToTheQuestion