Buduję aplikację C#, która prawdopodobnie będzie zawierała kilka plików zasobów do przechowywania ciągów do wykorzystania w tłumaczeniu języka. Próbuję wymyślić konwencję nazewnictwa dla kluczy w moich plikach resouce. Czy ktoś zmierzył się z tym przede mną?Plik zasobów (.resx) Konwencje nazewnictwa kluczy?
Odpowiedz
Wystarczy użyć konwencji nazewnictwa Pascal. Nie przypisuj klucza do modułu ani klasy. Uogól go, aby mógł być ponownie użyty.
Np ReadWriteWarningMessage
kropka oddziela konwencja działa dobrze dla pozycji menu. Ale co z łańcuchami, które są generowane dynamicznie lub wiadomościami użytkowników.
Jeśli masz Nazwa Wartość pair w zasobach jak
CloseConfirmation - Czy chcesz, aby zamknąć okno bez zapisywania?
Dodaj nową klasę o nazwie Wiadomości.
public static class Messages
{
public const String CloseConfirmation = "CloseConfirmation";
public static String GetMessage(String messageId)
{
return //your namespace//.Properties.Resources.ResourceManager.GetString(messageId);
}}
oraz dostęp używać
MessageBox.Show(Messages.GetMessage(Messages.CloseConfirmation));
nadzieję, że to pomoże.
Czy brałeś pod uwagę podkreślenia, takie jak Menu_File_Open lub coś w rodzaju Place_StringDescription? Obecnie używam schematu, w którym zwykłe rzeczy idą do Common_ jak Common_PressHereTo i widok konkretnych przejść do ich odpowiednich miejsc, takich jak MainMenu_FileOpen. Ogólnie przed podkreśleniem wpisz, gdzie pojawia się zasób i po podkreśleniu tekstu opisowego.
Próbuję zorganizować go podobnie do przestrzeni nazw, których używam do układu struktury programu. Więc jeśli masz MyCompany.MyProduct.MyModule, łańcuchy w tym module to MyModule_Blah_Blah. W ten sposób są unikalne w ramach całego produktu.
- 1. Konwencje nazewnictwa plików częściowych
- 2. SQL Konwencje nazewnictwa
- 3. Konwencje nazewnictwa kluczowych klawiszy Redis?
- 4. Konwencje nazewnictwa JavaScript
- 5. Konwencje nazewnictwa funkcjonalnych serwerów
- 6. konwencje nazewnictwa zespołu
- 7. Laravel 5 Konwencje nazewnictwa
- 8. Konwencje nazewnictwa obrazu iOS
- 9. Konwencje nazewnictwa klejnotów Ruby
- 10. Java konwencje pakiet nazewnictwa
- 11. Konwencje nazewnictwa dyrektyw AngularJs
- 12. Konwencja nazewnictwa zasobów XAML
- 13. Konwencje nazewnictwa dla wyzwalaczy DB
- 14. Serwer SQL: konwencje nazewnictwa schematu
- 15. Jak zastąpić konwencje nazewnictwa szyn?
- 16. Konwencje nazewnictwa dla atrybutów boolowskich
- 17. Jakie są konwencje nazewnictwa neo4j?
- 18. Konwencje nazewnictwa dotyczące migracji Railsów
- 19. Konwencje nazewnictwa dla typów szablonów?
- 20. C++: Listy inicjalizacji/Konwencje nazewnictwa
- 21. Jakie są konwencje nazewnictwa plików Java .properties?
- 22. Jakie konwencje nazewnictwa używasz w C#?
- 23. Konwencje nazewnictwa z kluczem podstawowym Fluent NHibernate
- 24. Konwencje nazewnictwa Angular JS ($, camelCase i PascalCase)
- 25. Jakie są dobre konwencje nazewnictwa mrówek?
- 26. Konwencje nazewnictwa zmiennych instancji w kakao
- 27. ASP.net MVC RTM Konwencje nazewnictwa testów
- 28. Konwencje nazewnictwa MVC dla działań JSON
- 29. Konwencje nazewnictwa w systemie Android SDK
- 30. Konwencje nazewnictwa w języku C# - Zmienne globalne
Nie chodzi o konwencje nazw kluczy, ale o strategie dostępu do wiadomości w plikach zasobów. – Juri
Dzięki Prajeesh, mogę uzyskać dostęp do zasobu bez problemu. Mój problem polega jednak na tym, że mogę mieć kilkaset kluczy i chcę mieć łatwy sposób na ich sprawdzenie. Natknąłem się na konwencję hoerarchiczną, taką jak: Menu.File.Open jako przykład dla podpisu menu. Podoba mi się to podejście, ale ułamki dziesiętne nie są zaimplementowane przy użyciu silnie wpisanych zasobów (którymi jestem). W każdym razie dzięki... – Dawsy