asp.net extension-methods inline-code

asp.net - ¿Puedo usar los métodos de extensión en línea en una página ASPX?



extension-methods inline-code (3)

¿Es posible hacer algo como esto en línea en una página ASPX?

<%= Me.SomeExtensionMethod() %>

Parece que no puedo encontrar la manera de hacer que esto funcione correctamente. Recibo un error que dice que "SomeExtensionMethod" no es un miembro del objeto Page actual. He añadido la directiva <%@ Import Namespace="..." %> en la parte superior de mi página. Esto funciona en el código detrás.

Esto no es de vital importancia, pero sería bueno saber cómo hacerlo en el futuro.

¡Gracias!


¡Añadir importaciones en el espacio de nombres funciona para mí!

<%@ Import Namespace="Foo.FooFoo" %>


Intente cerrar la página .aspx y abrirla de nuevo según esta respuesta . Si eso mejora las cosas (p. Ej., Habilite la inteligencia) pero no lo resuelve, publique los nuevos errores que reciba.

También puede agregar el modificador Public a su Module o definición de class . Si está utilizando módulos, realmente no tiene sentido para mí que sea necesario, pero un poco de discusión en este foro indica que podría ser útil.


Si está funcionando en el código, agregue el espacio de nombres a la llamada de función:

<%=MyNamespace.ExtensionFcn("hello, world") %>

Haría esto antes de modificar el web.config.