Вызов методов расширения базового класса C # из внутри производного класса?

Это надуманный пример:

public static class MyExtensions
{
  public static void MyMethod( this MyInterface obj, string txt )
  {
  }
}

interface MyInterface {}

public MyDerived : MyInterface
{
  void DoStuff()
  {
    MyMethod( "test" ); // fails; compiler can't find MyMethod?
  }
}

В моем примере выше я пытаюсь вызвать метод расширения, назначенный интерфейсу из моего производного класса. Компилятор здесь не работает и сообщает, что MyMethod не существует в текущем контексте. У меня есть все соответствующие операторы using в моем CS-файле, поэтому я не уверен, что происходит.

10
задан void.pointer 6 June 2011 в 16:58
поделиться