Sto costruendo un'app C# che probabilmente conterrà un paio di file di risorse per memorizzare stringhe da utilizzare nella traduzione della lingua. Sto cercando di creare una convenzione di denominazione per le chiavi nei miei file resiuce. Qualcuno ha affrontato questo prima di me?File di risorse (.resx) Convenzioni di denominazione delle chiavi?
risposta
Basta usare la convenzione di denominazione Pascal. Non attribuire la chiave a un modulo o alla classe. Generalizzalo in modo che possa essere riutilizzato.
Esempio: ReadWriteWarningMessage
Il punto separato convenzione funziona bene per le voci di menu. Ma per quanto riguarda le stringhe generate dinamicamente o i messaggi degli utenti.
Se si dispone di un nome valore pari lavoro in risorse come
CloseConfirmation - Vuoi chiudere la finestra senza salvare?
Aggiungere una nuova classe denominata Messaggi.
public static class Messages
{
public const String CloseConfirmation = "CloseConfirmation";
public static String GetMessage(String messageId)
{
return //your namespace//.Properties.Resources.ResourceManager.GetString(messageId);
}}
e per accedervi utilizzare
MessageBox.Show(Messages.GetMessage(Messages.CloseConfirmation));
Spero che questo vi aiuterà.
hai considerato caratteri di sottolineatura come Menu_File_Open o qualcosa come Place_StringDescription? Attualmente mi occupo di uno schema in cui le cose comuni vanno in Common_ come Common_PressHereTo e visualizzano specifiche informazioni sul rispettivo posto come MainMenu_FileOpen. In generale, prima del carattere di sottolineatura digito dove appare la Risorsa e dopo la sottolineatura di un testo descrittivo.
Cerco di organizzarlo in modo simile agli spazi dei nomi che sto usando per impaginare la struttura del programma. Quindi se hai MyCompany.MyProduct.MyModule, le stringhe in quel modulo sarebbero MyModule_Blah_Blah. In questo modo sono unici all'interno del prodotto complessivo.
- 1. Progettazione database - convenzioni di denominazione delle chiavi primarie
- 2. Convenzioni di denominazione dei vincoli delle chiavi primarie NHibernate
- 3. Convenzioni di denominazione delle immagini iOS
- 4. nomi delle convenzioni di denominazione modulo HTML
- 5. SQL Convenzioni di denominazione
- 6. prestazioni durante l'utilizzo delle risorse di file (.resx)
- 7. shopify asset, struttura file e convenzioni di denominazione
- 8. Convenzioni di denominazione ruby?
- 9. Convenzioni di denominazione JavaScript
- 10. Convenzioni di denominazione gemma rubino
- 11. Convenzioni di denominazione di Protobuf
- 12. Convenzioni di denominazione delle variabili di istanza in Cocoa
- 13. Java convenzioni pacchetto di denominazione
- 14. generici Java convenzioni di denominazione
- 15. Convenzioni di denominazione RSpec per file e struttura di directory
- 16. Modifica delle convenzioni di denominazione dei vincoli in Flask-SQLAlchemy
- 17. Java ha un file di risorse .NET (.resx) equivalente per la localizzazione?
- 18. Convenzioni di denominazione per file di classe parziale
- 19. Convenzioni di denominazione in IBAction Funzioni dell'azionamento
- 20. Convenzioni di denominazione Python nei decoratori
- 21. Devo mantenere le convenzioni di denominazione errate?
- 22. Convenzioni di denominazione MVC per azioni JSON
- 23. Convenzioni di denominazione in C# - sottolinea
- 24. C# Convenzioni di denominazione della cartella progetto
- 25. C++: elenchi di inizializzazione/convenzioni di denominazione
- 26. Flussi di mulo - Convenzioni di denominazione
- 27. Convenzioni di denominazione di ExtJS 4
- 28. Laravel - Convenzioni di denominazione di database, tabelle e colonne?
- 29. Convenzioni di denominazione DTO, modellazione ed ereditarietà
- 30. Cattura risorse locali mancanti nei file resx
Non si tratta di denominare le convenzioni delle chiavi ma di altre strategie su come accedere ai messaggi nei file di risorse. – Juri
Grazie a Prajeesh, posso accedere alla risorsa senza problemi. Il mio problema è che posso avere centinaia di chiavi e voglio un modo semplice per cercarle. Mi sono imbattuto in una convenzione gerarchica come: Menu.File.Open come esempio per un sottotitolo di menu. Mi piace questo approccio, ma i decimali non vengono premolti quando si usano risorse fortemente tipizzate (che io sono). Grazie comunque... – Dawsy