Forzare la localizzazione dei ToString()
La localizzazione è uno dei problemi che un qualunque sviluppatore si troverà prima o poi ad affrontare. Sviluppando sul proprio pc o server è molto semplice dare per scontato che metodi come il ToString() facciano esattamente quello che ci aspettiamo convertendo i valori nel formato del nostro pc o server.
Chiaramente questo potrebbe creare problemi non appena spostiamo il nostro codice in produzione e la lingua o i formati predefiniti sono diversi da quelli in cui abbiamo sviluppato e/o testato il nostro codice.
Per aiutarci in questo è possibile utilizzare uno strumento integrato di VS: code analysis. Due regole in particolare ci vengono in aiuto:
Modificando le impostazioni di Code Analysis possiamo evidenziare come errori il tostring e il toupper del codice seguente:
namespace ConsoleApplication1 { class Program { static void Main(string[] args) { var a = 10.ToString(); var b = "dadsa".ToUpper(); } } }
Per ottenere questo risultato apriamo le proprietà del progetto e andiamo al tab "Code Analysis"
selezioniamo "Enable Code Analysis on Build" e clicchiamo su Open. Apriamo la sezione "Managed Binary Analysis" e cerchiamo le due regole 1304 e 1305 e scegliamo quale azione vogliamo che il compilatore produca. Nel mio caso ho selezionato "Error"