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");
4 Réponses :
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 . P>
va ressembler à cette aide dans votre cas?
Il est préférable d'envelopper RESXRESReReader dans Utiliser une déclaration B> 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 / ...
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: 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. P> P>
Utilisez LINQ à SQL à la place de référencer System.Windows.Forms. RESXRESRERFEEADER classe dans votre projet.
GetStringFromDynamicResourceFile("MyFile.resx", "MyString1");
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 ...