Подтвердить что ты не робот

Ресурс (.resx) file Соглашения о присвоении имен файлам?

Я создаю приложение С#, которое, вероятно, будет содержать пару файлов ресурсов для хранения строк для использования в переводе языка. Я пытаюсь придумать соглашение об именах для ключей в моих файлах resouce. Кто-нибудь решил это передо мной?

4b9b3361

Ответ 1

Просто используйте соглашение об именах Pascal. Не связывайте ключ с модулем или классом. Обобщите его так, чтобы его можно было повторно использовать.

Например: ReadWriteWarningMessage

Соглашение о разделении точек отлично работает для пунктов меню. Но как насчет строк, которые генерируются динамически или пользовательских сообщений.

Ответ 2

Вы считали символы подчеркивания, такие как Menu_File_Open или что-то вроде Place_StringDescription? В настоящее время я использую схему, в которой обычные вещи переходят на Common_, например Common_PressHereTo, и просматривают конкретные данные в соответствующем месте, например MainMenu_FileOpen. В общем случае перед символом подчеркивания я указывается, где появляется ресурс, а после подчеркивания - описательный текст.

Ответ 3

Я пытаюсь организовать его аналогично пространствам имен, которые я использую для компоновки структуры программы. Поэтому, если у вас есть MyCompany.MyProduct.MyModule, то строки в этом модуле будут MyModule_Blah_Blah. Таким образом, они уникальны в общем продукте.

Ответ 4

Если у вас есть пара значений имен в ресурсах, например

CloseConfirmation - вы хотите закрыть окно без сохранения?

Добавьте новый класс под названием "Сообщения".

 public static class Messages
{
    public const String CloseConfirmation = "CloseConfirmation";
    public static String GetMessage( String messageId )
    {
        return //your namespace//.Properties.Resources.ResourceManager.GetString( messageId );
    }}

и для доступа к нему используйте

MessageBox.Show( Messages.GetMessage(Messages.CloseConfirmation));

Надеюсь, это поможет.