Примечание, я знаю следующие вопросы по этой теме:Накладные производительности при использовании ресурсов файлов (.resx)
и др. Однако я не нахожу ответы на эти вопросы удовлетворительными (они недостаточно конкретны).
Я также осведомлен о страницах MSDN по этой теме, но они также, похоже, экономят техническую информацию о накладных расходах на использование файлов ресурсов.
Мой затруднительное, что мы собираемся приступить к локализации достаточно большого размера приложения WinForms. На этом этапе моя озабоченность связана с производительностью доступа к ресурсам из файла .resx, например, из вложенного цикла. В настоящее время для небольшой части кода мы локализованы (имена столбцов, заголовки строк и т. Д. Для DataGridView
и т. Д.), Мы обналичиваем ресурсы в глобальных переменных соответствующего класса и используем их.
Как можно получить доступ к ресурсам из .resx (они включены в сборку во время компиляции?), И есть ли преимущество в производительности при обналичивании этих ресурсов и использовании глобальных переменных для доступа?
+1 Большое спасибо за ваш ответ. Самое ценное. Можете ли вы объяснить мне еще одну вещь. Чтобы вызвать ресурс из документов [MSDN docs] (http://msdn.microsoft.com/en-us/library/yfsz7ac5.aspx), мы делаем ResourceManager rm = new ResourceManager («ExampleResources», typeof (Example) .Сборка); string greeting = rm.GetString («Приветствие»); но я понимаю из http://stackoverflow.com/a/1142840/626442, что это также можно сделать с помощью Console.WriteLine (string.Hello); файл ресурсов - 'strings.resx'. В чем разница? – MoonKnight
Вы можете помочь с этим вопросом: http://stackoverflow.com/questions/15523604/error-in-generation-of-resource-resource-design-cs-file – MoonKnight
Использование 'strings.Hello' просто использует автоматически- сгенерированный класс в 'Resources.Designer.cs' –