2013-08-24 4 views
0

У меня есть файл Global Resource со многими значениямиЛучший способ для отображения Global Resource Value

В настоящее время в коде я называю значение, как этот

TxtSuccess.Text = (string) GetGlobalResourceObject("GlobalResource", "msgSuccess"); 

Но если позже в дизайне мы должны переименуйте переменные, тогда сохранение будет больно.

было бы лучше сделать что-то подобное?

public class AppGlobalConstants 
{ 
    public string MsgSuccess{ get; private set; } 

    public AppGlobalConstants() 
    { 
     MsgSuccess= (string) GetGlobalResourceObject("GlobalResource", "msgSuccess"); 
    } 
} 

Затем, если позже команды хотели изменить название некоторых из этих глобальных ресурсов, которые они могли бы сделать это без необходимости изменять какие-либо страницы, которые использовали эти ресурсы.

Мы хотим использовать глобальные переменные, поскольку для нашего веб-приложения (asp.net web-формы 4.5) будут доступны дополнительные страны и языки в будущем.

+0

Любая конкретная причина не использовать VS и встроенную поддержку автоматического генерации классов ресурсов из RESX для регулярной локализации? –

+0

, если имена нуждаются в изменении. и мы уже начали ссылаться через приложение - – TheTiger

+0

Я вижу. Я лично предпочитаю скомпилировать временные сбои для завершения ручного тестирования при каждом переименовании строки ресурса, но некоторым людям нравится ручное тестирование ... –

ответ

1

Я предпочел бы сделать что-то вроде этого:

public static class AppGlobalConstants 
{ 
    public static string MsgSuccess 
    { 
     get 
     { 
      return (string) GetGlobalResourceObject("GlobalResource", "msgSuccess"); 
     } 
    } 
} 

Таким образом, значения являются статическими. В случае изменения имени вы просто изменяете строки в этом классе. Потому что все статично в этом классе, вы могли бы сделать что-то вроде этого:

Console.WriteLine(AppGlobalConstants.MsgSuccess); 

Если вы хотите, вы также можете добавить множество аксессор к свойствам. Поскольку все статично, нет необходимости создавать экземпляры этого класса.

+0

Да, это то, о чем я думал – TheTiger

+0

Кажется наиболее эффективным для меня. –

Смежные вопросы