Comment lire la chaîne de caractères à partir d'un fichier .resx en c# ? Veuillez m'envoyer des instructions. étape par étape
Merci beaucoup pour cette réponse.
Comment lire la chaîne de caractères à partir d'un fichier .resx en c# ? Veuillez m'envoyer des instructions. étape par étape
ResourceManager
ne devrait pas être nécessaire, sauf si vous chargez à partir d'un fichier externe ressource.
Pour la plupart des choses, disons que vous avez créé un projet (DLL, WinForms, etc.), il suffit d'utiliser l'espace de nom du projet, "Ressources" et l'identifiant de la ressource :
En supposant un espace de nom de projet : UberSoft.WidgetPro
Et votre resx contient :
Vous pouvez simplement utiliser :
Ubersoft.WidgetPro.Properties.Resources.RESPONSE_SEARCH_WILFRED
Merci, ceci devrait être marqué comme une réponse. Beaucoup plus clair et propre que la "réponse" de cette question.
Cet exemple est tiré du Page MSDN sur ResourceManager.GetString() :
// Create a resource manager to retrieve resources.
ResourceManager rm = new ResourceManager("items", Assembly.GetExecutingAssembly());
// Retrieve the value of the string resource named "welcome".
// The resource manager will retrieve the value of the
// localized resource using the caller's current culture setting.
String str = rm.GetString("welcome");
D'après la page MSDN que j'ai référencée : baseName Le nom racine du fichier de ressources sans son extension mais en incluant tout nom d'espace de nom pleinement qualifié. Par exemple, le nom racine du fichier de ressources nommé MyApplication.MyResource.en-US.resources est MyApplication.MyResource.
Mauvais exemple : vous devriez expliquer que items est namespace + Root type de la ressource
Vous pouvez également spécifier la culture - utile si vous voulez assurer une sortie spécifique à la culture qui contredit la valeur par défaut. Par exemple, TestResource.ResourceManager.GetString(description,new CultureInfo("en-GB")) ;
Cette méthode fonctionne-t-elle avec plusieurs fichiers de ressources (langues), car partout où je regarde, ils utilisent la méthode ResourceManager, et je me demande si je dois prendre le risque d'utiliser cette méthode, ou pas...
En supposant que le fichier .resx a été ajouté à l'aide de Visual Studio dans les propriétés du projet, il existe un moyen plus simple et moins sujet aux erreurs d'accéder à la chaîne.
L'expansion du fichier .resx dans l'explorateur de solutions doit faire apparaître un fichier .Designer.cs.
Lorsqu'il est ouvert, le fichier .Designer.cs comporte un espace de nom Propriétés et une classe interne. Pour cet exemple, supposons que la classe s'appelle Resources.
Il suffit ensuite d'accéder à la chaîne :
var resourceManager = JoshCodes.Core.Testing.Unit.Properties.Resources.ResourceManager;
var exampleXmlString = resourceManager.GetString("exampleXml");
Remplacer JoshCodes.Core.Testing.Unit
avec l'espace de nom par défaut du projet.
Remplacez "exempleXml" par le nom de votre ressource de chaîne.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Jetez un coup d'œil à ce lien, cela devrait aider.
15 votes
Pourquoi ? s'ils ne me satisfont pas sur mes questions, alors pourquoi je dois accepter de mauvaises suggestions ?
1 votes
Si le fichier .resx a été ajouté à l'aide de Visual Studio dans les propriétés du projet, voir ma réponse pour une manière plus simple et moins sujette aux erreurs d'accéder à la chaîne.