Странная проблема метода расширения с наследованием

Я пытаюсь расширить класс Page, чтобы добавить некоторые новые функции (простота использования некоторых методов, поскольку они будут вызываться непосредственно внутри код этой страницы) в ASP.NET, и я получаю странную ошибку:

Мой метод называется SetQuery ,
если я наберу SetQuery в классе Page, он не распознается (да, я добавил с помощью [Namespace]; ),
если я наберу base.SetQuery , он будет виден в IntelliSense, но не компилируется, говоря, что никакой метод или метод расширения фактически не найден в Page,
если я набираю (это как Page) .SetQuery , он распознается и работает.

Особенно второй случай кажется мне ошибкой, поскольку IntelliSense распознает его как метод расширения, но не компиляцию.

Есть ли более естественный способ набирать SetQuery по ходу работы, без приведения типов и т. Д.?

5
задан Can Poyrazoğlu 31 July 2011 в 09:23
поделиться