Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot step into a method returning IEnumerable<T>?

I have a method that returns an IEnumerable like this..

public virtual IEnumerable<Page> ToPages(){   // foreach logic   yield return pages;    // more foreach logic   yield return otherPages;    // etc } 

The method seems to work ... in a way. But what's really baffling is that I cannot step into it! I place debugger points all around, and the debugger just passes right through them!!!

Does anyone know why this might occur?

like image 257
Ciel Avatar asked Apr 18 '11 16:04

Ciel


1 Answers

The method isn't run until you enumerate into it.

foo.ToPages().ToList() // will enumerate and your breakpoint will be hit. 
like image 137
Talljoe Avatar answered Oct 02 '22 16:10

Talljoe