Technology Experience
.NET World

Generare un file di risorsa (resx) da codice

Se avete bisogno di generare via codice un file di risorsa da poter includere in una soluzione, ecco il codice che potrebbe servirvi…

static void Main(string[] args) { string filename = "D:\registers.resx"; Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("key1", "value1"); dict.Add("key2", "value2"); dict.Add("key3", "value3"); dict.Add("key4", "value4"); IDictionaryEnumerator enumerator = dict.GetEnumerator(); ResXResourceWriter writer = new ResXResourceWriter(filename); do { writer.AddResource(enumerator.Key.ToString(), enumerator.Value.ToString()); } while(enumerator.MoveNext()); writer.Close(); writer.Dispose(); }

Praticamente, inizializzo un Dictionary<string, string> generico, con delle stringhe nella key e nel value. Lo riempio con valori a caso. Poi ottengo un enumerator su questo Dictionary<string, string>. La scrittura del file di risorsa passa attraverso la classe ResXResourceWriter, inizializzato con il nome del file che si vuole generare. E’ sufficiente aggiungere le risorse, specificando key e value.

Ricordarsi alla fine di chiamare sempre i metodi .Close() e .Dispose() per salvare il file .resx e per rilasciare le risorse impegnate durante l’operazione.

Il file .resx generato può essere incluso dentro la soluzione, esattamente come se fosse un file di risorsa generato dall’IDE.

Technorati Tags:   

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.