Почему нельзя напрямую вызывать методы расширения?

Может кто-нибудь объяснить мне, почему в следующем 3-м вызове DoSomething недопустим? (Сообщение об ошибке: «Имя DoSomething не существует в текущем контексте»)

public class A { }
public class B : A
{
    public void WhyNotDirect()
    {
        var a = new A();
        a.DoSomething();  // OK
        this.DoSomething();  // OK
        DoSomething(); // ?? Why Not
    }
}
public static class A_Ext
{
    public static void DoSomething(this A a)
    {
        Console.WriteLine("OK");
    }
}
10
задан My Other Me 11 October 2010 в 12:29
поделиться