Поделиться через


Ошибка компилятора CS1623

Обновлен: Ноябрь 2007

Сообщение об ошибке

Итераторы не могут иметь параметры с ключевым словом ref или out
Iterators cannot have ref or out parameters

Эта ошибка возникает, когда метод итератора принимает параметр ref или out. Чтобы избежать этой ошибки, удалите ключевое слов ref или out из подписи метода.

Пример

В следующем примере возникает ошибка CS1623.

// CS1623.cs
using System.Collections;

class C : IEnumerable
{
    public IEnumerator GetEnumerator()
    {
        yield return 0;
    }

    // To resolve the error, remove ref
    public IEnumerator GetEnumerator(ref int i)  // CS1623
    {
        yield return i;
    }

    // To resolve the error, remove out
    public IEnumerator GetEnumerator(out float f)  // CS1623
    {
        f = 0.0F;
        yield return f;
    }
}