Erweiterungsmethode Priorität

Ich lese aushttps: //msdn.microsoft.com/en-us/library/vstudio/bb383977.asp Diese Erweiterungsmethoden mit demselben Namen und derselben Signatur wie die auf dem Basistyp vorhandenen werden niemals aufgerufen, aber was ist mit dem "Überschreiben" einer Erweiterungsmethode selbst:

using System;
using System.Linq;
using System.Collections.Generic;


namespace ConsoleApplication1
{

    public class Program
    {

        public static void Main(string[] args)
        {

            var query = (new[] { "Hans", "Birgit" }).Where(x => x == "Hans");
            foreach (var o in query) Console.WriteLine(o);
        }

    }


    public static class MyClass
    {
        public static IEnumerable<T> Where<T>(this IEnumerable<T> source, Func<T, bool> predicate)
        {
            foreach (var obj in source)
                if (predicate(obj)) yield return obj;
        }
    };

}

Wenn ich dieses Programm debugge, stoße ich auf meine eigene Erweiterungsmethode und nicht auf die von System.Linq (obwohl der Namespace enthalten ist). Habe ich etwas verpasst oder gibt es auch eine Priorität für Erweiterungsmethoden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage