Me encontré con un problema extraño durante el fin de semana mientras trabajaba en un proyecto asp.net mvc en vb.net. Creé un método de extensión para convertir un entero al mes correspondiente al que está asociado. Probé el método de extensión en una aplicación de consola, así que sé que está funcionando.Método de extensión VB.NET en la vista utilizando ASP.NET MVC
En mi proyecto asp.net mvc tengo una vista y quiero llamar al método de extensión, pero me sale un error que indica que no se reconoce el método de extensión. Importé el espacio de nombres en el que estaba contenido y todavía no pude deshacer el error. ¿Tienes idea de lo que está pasando? No tengo mi código conmigo, pero puedo publicarlo esta noche si eso ayuda. ¡Gracias!
Método de extensión:
Imports System.Runtime.CompilerServices
Module SiteExtensions
<Extension()> _
Public Function ConvertToMonth(ByVal monthNumber As Integer) As String
Dim month As String = String.Empty
Select Case monthNumber
Case 1
month = "January"
Case 2
month = "February"
Case 3
month = "March"
Case 4
month = "April"
Case 5
month = "May"
Case 6
month = "June"
Case 7
month = "July"
Case 8
month = "August"
Case 9
month = "September"
Case 10
month = "October"
Case 11
month = "November"
Case 12
month = "December"
End Select
Return month
End Function
End Module
Vista:
<% For Each m As Integer In DirectCast(ViewData("Months"), IEnumerable)%>
<a href="#"><%=m.ConvertToMonth()%><br /></a>
<%Next%>
error es: "ConvertToMonth no es miembro de número entero"
Jon
Perdí mucho tiempo con este problema. De hecho, lo corregí por mi cuenta y luego leí esto. +1 –