CS1622 de erro do compilador

Mensagem de erro

Não é possível retornar um valor de um iterador.Use a demonstrativo yield return para retornar um valor ou yield break para finalizar a iteração.

Um iterador é uma função especial que retorna um valor por meio da demonstrativo yield em vez da demonstrativo return.Para obter mais informações, consulte iteradores.

O exemplo a seguir gera CS1622:

// CS1622.cs
// compile with: /target:library
using System.Collections;

class C : IEnumerable
{
   public IEnumerator GetEnumerator()
   {
      return (IEnumerator) this;  // CS1622
      yield return this;   // OK
   }
}