10
votes

Lire une chaîne stockée dans un fichier de ressource (RESX) avec nom de fichier dynamique

Dans mon application C #, j'ai besoin de créer un fichier .resx de chaînes personnalisées pour chaque client.

Ce que je veux faire, c'est éviter de recompiler tout le projet à chaque fois que je dois fournir mon application à mon client, donc je besoin d'un accès dynamique à cette chaîne. Alors, comment puis-je accéder (lors de l'exécution de l'application) à un fichier RESX si je kwow le nom de fichier uniquement sur l'heure d'exécution? P>

Depuis maintenant, j'écris quelque chose de similaire: P>

GetStringFromDynamicResourceFile("MyFile.resx", "MyString1");


1 commentaires

Ok prashanth ça terne! La seule chose est que la méthode "Func" ne peut pas être "statique" sinon compilateur lancer une exception .. Merci à tous ...


4 Réponses :


1
votes

Bien sûr que c'est possible. Vous devez lire sur Resoucesset classe dans MSDN. Et si vous souhaitez charger directement des fichiers .resx, vous pouvez utiliser RESXRESRESTREST .


0 commentaires

13
votes

va ressembler à cette aide dans votre cas? XXX


2 commentaires

Il est préférable d'envelopper RESXRESReReader dans Utiliser une déclaration au lieu de fermer explicitement le lecteur.


Je pense que j'ai chiqué sur le code ici (marche à parcourir 2): C-Sharpcorner .COM / UPLOADFILE / YOUGHEN / 105262008135822PM / ...



2
votes

Vous pouvez mettre les ressources nécessaires à une DLL distincte (une pour chaque client), puis extraire les ressources de manière dynamique à l'aide de la réflexion: xxx

i peut avoir la syntaxe mal - elle est tôt. Une mise en garde potentielle ici: l'accès à une DLL par la réflexion verrouille le fichier DLL pendant une durée, ce qui peut vous empêcher de mettre à jour ou de remplacer la DLL sur la machine du client.


0 commentaires

0
votes

Utilisez LINQ à SQL à la place de référencer System.Windows.Forms. RESXRESRERFEEADER classe dans votre projet.

GetStringFromDynamicResourceFile("MyFile.resx", "MyString1");


0 commentaires