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: .NET Framework resx resources