c# – Why can’t I navigate to Iterator with F12 in Visual Studio?


What I’m Observing

When I use F12 on type WhereEnumerableIterator<TSource>, I can see the decompiled code just fine:

private sealed partial class WhereEnumerableIterator<TSource> : Iterator<TSource>
{
    // implementation visible
}

However, when I try to F12 on Iterator<TSource> I get:

“Cannot navigate to the symbol under the caret”

The source code is publicly available on GitHub at dotnet/runtime/src/libraries/System.Linq/src/System/Linq/Iterator.cs

public static partial class Enumerable
{
    private abstract partial class Iterator<TSource> : IEnumerable<TSource>, IEnumerator<TSource>
    {
        // full implementation on GitHub
    }
}

My Question

Why does Visual Studio’s F12 fail to navigate to Iterator<TSource> specifically?

Is this:

What’s the technical reason behind this?

Leave a Reply

Your email address will not be published. Required fields are marked *