Compilerfehler CS1626
Aktualisiert: November 2007
Fehlermeldung
Mit "yield" kann im Text eines try-Blocks mit einer catch-Klausel kein Wert zurückgegeben werden.
Cannot yield a value in the body of a try block with a catch clause
Eine yield-Anweisung ist in einem try-Block nicht zulässig, wenn dem try-Block eine catch-Klausel zugewiesen ist. Um diesen Fehler zu vermeiden, verschieben Sie die yield-Anweisung aus der catch-Klausel.
Im folgenden Beispiel wird der Fehler CS1626 generiert.
// CS1626.cs
using System.Collections;
class C : IEnumerable
{
public IEnumerator GetEnumerator()
{
try
{
yield return this; // CS1626
}
catch
{
}
}
}
public class CMain
{
public static void Main() { }
}