Estoy intentando ampliar la clase Página para agregar algunas nuevas funcionalidades (facilidad de uso para algunos métodos, ya que se llamarán directamente dentro del código de esa página) en ASP.NET, e I ' m recibiendo un error extraño:Extraño problema del método de extensión con la herencia
Mi método se llama SetQuery
,
si escribo SetQuery
en una clase de página, no se reconoce (sí, he añadido using [Namespace];
),
si escribo base.SetQuery
se ve en IntelliSense, pero no compila diciendo que no hay ningún método o método de extensión realmente encontrado en la página,
si escribo (this as Page).SetQuery
es reconocido y funciona.
Especialmente el segundo caso parece ser un error para mí, ya que IntelliSense lo reconoce como un método de extensión, pero sin compilación.
¿Hay alguna forma "más natural" de escribir SetQuery sobre la marcha, sin moldes, etc.?
Entiendo, creo que aunque he usado bastante los métodos de extensión, nunca los he llamado dentro de esa clase. Pero todavía parece ser un error para mí que intellisense muestre el método, pero no compila cuando lo escribo/lo selecciono de intellisense, quejándose de que no se encuentra. –
@can sí, eso hace herida como un error intellisense - de acuerdo –
FYI: Eso es solo para C#. En VB puedes usar esto implícitamente. –