Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Modifying a 'method | property | indexer | operator' which contains the 'yield return' or 'yield break' statement will prevent the debug session from continuing while Edit and Continue is enabled
This error occurs if you try to modify a method, property, indexer, or operator containing a yield return or yield break statement. For more information, see yield (C# Reference). Edit and Continue does not support this change during debugging.
Consider the following code:
class Program
{
private int[] items = { 1, 2, 3 };
System.Collections.Generic.IEnumerable<int> Range(int start, int end)
{
for (int index = start; index < end; index++)
{
yield return items[index];
}
}
static void Main()
{
Program p = new Program();
foreach (int item in p.Range(0, 2))
{
}
}
}
If you set a breakpoint on yield return items[index], then start debugging and try to add a local variable declaration int a = 10 in the Range method, this error occurs.
To correct this error
- Undo the changes, and then continue debugging without the changes. - —or— - On the Debug menu, click Stop Debugging, then make the changes and start a new debugging session.