Ich erstelle eine C# -App, die wahrscheinlich einige Ressourcendateien zum Speichern von Zeichenfolgen für die Verwendung in der Sprachübersetzung enthält. Ich versuche, eine Namenskonvention für die Schlüssel in meinen resouce Dateien zu finden. Hat das jemand vor mir angepackt?Ressourcendatei (.resx) Tastenbenennungskonventionen?
Antwort
Verwenden Sie einfach die Pascal-Namenskonvention. Weisen Sie den Schlüssel einem Modul oder der Klasse nicht zu. Verallgemeinern Sie es, damit es wiederverwendet werden kann.
ZB: ReadWriteWarningMessage
Der Punkt getrennt Konvention für Menüpunkte gut funktioniert. Aber was ist mit Strings, die dynamisch generiert werden oder User-Nachrichten?
Wenn Sie einen Name Wert Pair in Ressourcen wie
CloseConfirmation - Haben Sie das Fenster schließen möchten, ohne speichern?
Fügen Sie eine neue Klasse namens Nachrichten hinzu.
public static class Messages
{
public const String CloseConfirmation = "CloseConfirmation";
public static String GetMessage(String messageId)
{
return //your namespace//.Properties.Resources.ResourceManager.GetString(messageId);
}}
und es
MessageBox.Show(Messages.GetMessage(Messages.CloseConfirmation));
Hope this helfen verwenden zugreifen.
haben Sie Unterstriche wie Menu_File_Open oder etwas wie Place_StringDescription berücksichtigt? Ich verwende derzeit ein Schema, bei dem gängige Sachen zu Common_ wie Common_PressHereTo gehen und bestimmte zu ihrem jeweiligen Ort wie MainMenu_FileOpen gehen. Im Allgemeinen gebe ich vor dem Unterstrich ein, wo die Ressource erscheint und hinter dem Unterstrich einen beschreibenden Text.
Ich versuche, es ähnlich den Namespaces zu organisieren, die ich verwende, um die Programmstruktur zu gestalten. Wenn Sie also MyCompany.MyProduct.MyModule haben, dann wären die Strings in diesem Modul MyModule_Blah_Blah. Auf diese Weise sind sie innerhalb des gesamten Produkts einzigartig.
- 1. Kann eine nicht eingebettete Ressource js Dateizugriffs-Ressourcendatei (.resx)?
- 2. programmatisch ändern Ressourcendatei Sprache (resx) in Code hinter
- 3. Erstellen einer Ressourcendatei in C#
- 4. resx Austausch zwischen den Projekten
- 5. Lesen einer Zeichenfolge, die in einer Ressourcendatei (resx) mit dynamischem Dateiname gespeichert ist
- 6. Sollte ich meine globalen Konstanten in Ressourcendatei (.resx) oder in Klassen speichern?
- 7. Warum sollte ich für eine resx-Ressourcendatei einen internen oder öffentlichen Zugriffsmodifizierer verwenden?
- 8. Visual Studio - Resx Dateistandard 'intern' auf 'public'
- 9. ResXResourceWriter löscht weitere Einträge in der Ressourcendatei
- 10. Zugriff auf Formularressourcen (Resx-Datei) aus Code
- 11. Hinzufügen von benutzerdefinierten Spalte Resx-Datei
- 12. Manuelles Erstellen von Strings Ressourcendatei funktioniert nicht mit Anwendung
- 13. mehrere Resx-Dateien für 1 Kultur
- 14. Ressourcendatei in PyQt4
- 15. win32 Ressourcendatei Hilfe
- 16. Ressourcendatei in Ordner kopieren?
- 17. Kann nicht Ressourcendatei
- 18. Laden Schriftart aus Ressourcendatei
- 19. ASP.NET MVC Ressourcendatei-Strategie
- 20. MVC Ressourcendatei nicht Sprache
- 21. Literal- oder Ressourcendatei für Nicht-Benutzertext
- 22. ASP.NET * .resx Serialisierung
- 23. Ressourcen (Resx) mit Python
- 24. Web-basierte .resx-Dateieditor?
- 25. Kann ich eine RC-Ressourcendatei in einem C# -Projekt verwenden?
- 26. Pack URI zu Bild in eine Resx-Datei eingebettet
- 27. Ist es möglich, String-Arrays in RESX-Ressourcendateien zu definieren?
- 28. Verwenden von ResX-Ressourcen in .NET Core 1.0
- 29. Warum ändert sich die Etikettengröße in der Ressourcendatei?
- 30. Reverse-Lookup in einer Ressourcendatei?
Hierbei geht es nicht um Namenskonventionen für Schlüssel, sondern um Strategien zum Zugriff auf Nachrichten in Ressourcendateien. – Juri
Danke Prajeesh, ich kann auf die Ressource ohne ein Problem zugreifen. Mein Problem ist jedoch, dass ich mehrere hundert Schlüssel haben kann und eine einfache Möglichkeit habe, nach ihnen zu suchen. Ich bin auf eine hierarchische Konvention wie: Menu.File.Open als Beispiel für eine Menübeschreibung gestoßen. Ich mag diesen Ansatz, aber Dezimalzahlen sind nicht zulässig, wenn stark typisierte Ressourcen verwendet werden (was ich bin). Trotzdem danke... – Dawsy