Il mio precedente post mostrava come, tramite l'utilizzo di T4 e del package nuget T4MVC, fosse possibile eliminare senza problemi di performance (nessuna valutazione di expression tree o altro) le stringhe utilizzate per definire link a viste, route, link a file statici ecc ecc...
Come avevo accennato, il problema del refactoring dei metodi è "quasi" risolto. Spiego il "quasi":
Il problema principale è che i file cshtml non vengono compilati. Non essendo compilati, non è possibile valutare la presenza di possibili errori. E poichè il refactoring non funziona in questi file, la compilazione non produce errori.
Per caso mi sono imbattuto in un post...
T4MVC è un progetto opensource sviluppato da @davidebbo ospitato su codeplex, precedentemente parte di MvcContrib, ora standalone.
Cosa pemette di fare? rimuovere, grazie ad un template T4, l'uso delle "stringhe" da un progetto MVC (riferimenti a controller, action, le area, i file statici ...), il tutto con una curva di apprendimento minima (anzi, direi che non vi è curva di apprendimento e che i vari extension method di HtmlHelper sono più "complicati" da scrivere e da leggere).
Alcuni esempi di utilizzo:
return RedirectToAction("Index"); return MVC.People.Index();
@Html.ActionLink("Edit", "Edit", new { id=Model.Id })...