Sto utilizzando il WebGrid introdotto da MVC 3, ma non posso non applicare i miei metodi di estensione quando si passa un delegato per il parametro format
.Perché non posso utilizzare il mio metodo di estensione in un delegato in Razor WebGrid
Usando:
Grid.Column("MyProperty", "MyProperty",
format: @<span class="something">@item.MyProperty.MyExtensionMethodForString()</span>)
ho avuto
ERROR: 'string' does not contain a definition for 'MyExtensionMethodForString'
ho provato casting, di non avvalersi
Grid.Column("MyProperty", "MyProperty",
format: @<span class="something">@((string)(item.MyProperty).MyExtensionMethodForString())</span>)
Se uso un metodo standard, funziona:
Grid.Column("MyProperty", "MyProperty",
format: @<span class="something">@(Utils.MyExtensionMethodForString(item.MyProperty))</span>)
Ho anche provato a inserire l'estensione nello stesso spazio dei nomi, senza risultati.
Come posso utilizzare le mie estensioni preferite?
Edit: Lo spazio dei nomi di per sé non è il problema, lo spazio dei nomi in cui l'estensione è disponibile per tutti i punti di vista e le classi, e posso usarlo nella stessa vista senza problemi. Il problema è quando lo si utilizza nel delegato.
Esempio molto più semplice. Immagino che vivrò con la soluzione :). Grazie per l'aiuto. –