ResourceSet

Una ResourceSet, creata da una ResourceManager, carica e inserisce nella cache tutte le risorse per una singola lingua. Poiché però non fornisce il fallback, è più adatta a strumenti che funzionano con impostazioni internazionali specifiche e ad applicazioni non localizzate. Nelle tre righe di codice riportate di seguito viene illustrata una possibile modifica a WorldCalc.cs per utilizzare una ResourceSet anziché una ResourceManager.

private ResourceSet rs;
rs = rm.GetResourceSet(Thread.CurrentThread.CurrentUICulture, true, true); 
// Replace all occurrences of rm.GetString with rs.GetString.

Di seguito viene riportato l'equivalente Visual Basic dal file di esempio Graphic.vb:

Private rs As ResourceSet 
rs = rm.GetResourceSet(Thread.CurrentThread.CurrentUICulture, true, true)
' Replace all occurrences of rm.GetString with rs.GetString.

Nella prima riga viene semplicemente dichiarata una variabile ResourceSet. Nella seconda riga viene creata la ResourceSet da ResourceManager, passando la lingua corrente. Il secondo parametro controlla l'eventuale creazione di ResourceSet se non è stata già caricata e il terzo parametro verifica se gli oggetti CultureInfo devono essere caricati per l'ereditarietà delle risorse. Sia ResourceManager che ResourceSet implementano il metodo GetString e nella terza riga vengono illustrate le semplici modifiche di codice richieste.

Se si apportano le modifiche, si ricompila e si esegue l'applicazione di esempio WorldCalc in un computer di lingua inglese utilizzando la seguente riga di comando:

WorldCalc de-CH

si otterrà un'applicazione simile a quella riportata di seguito.