Я думаю, что ошибка не вызвана методом расширения.
Во-первых, метод расширения
public static void ExtendFrameIntoClientArea(this Window w, int amount) { }
(кстати, вы пропустили модификатор static
) было бы неоднозначно с методом экземпляра
public void ExtendFrameIntoClientArea(int amount) { }
объявлено в классе Window
, но не с методом экземпляра
public void ExtendFrameIntoClientArea(Window w, int amount) { }
независимо от того, в каком классе он объявлен. Кроме того, насколько я помню, методы экземпляра имеют приоритет перед методом расширения, поэтому они никогда не должны быть неоднозначными с методами расширения. Я предлагаю еще раз взглянуть на сообщение об ошибке и убедиться, что вы используете правильные методы.