Есть ли какое-либо различие в производительности в использовании .resx файл и сборка-сателлит?

То, что вы ищете, называется scope. Посмотрите на этот пример, взятый из scotch.io :

// global scope (scopeA)
var Module = (function() {
    // scope is now everything in this function (scopeB)
    function privateMethod() {
        console.log('privateMethod called!')
    }

    return {
        publicMethod: function() {
            // this function has access to scopeB 
            console.log('publicMethod called!');
            privateMethod();
        }
    };
})();


Module.publicMethod(); // gives publicMethod called!
Module.privateMethod(); // Uncaught ReferenceError: privateMethod is not defined

Объяснение этого из scotch на самом деле довольно хорошее, поэтому я просто процитирую его:

Оператор return модуля содержит наши открытые функции. Частные функции - это те, которые не возвращаются. Невыполнение функций делает их недоступными вне пространства имен модуля. Но наши общедоступные функции могут получить доступ к нашим частным функциям, которые делают их удобными для вспомогательных функций, вызовов AJAX и других вещей.

blockquote>

Надеюсь, это прояснит вам ситуацию.

5
задан Bill the Lizard 6 October 2009 в 19:08
поделиться

1 ответ

Хорошо я не знаю, допустимо ли сравнение..

ResX является форматом устройства хранения данных для хранения ресурсов в XML. Это компилируется в двоичную форму (.resources) с resgen инструментом, прежде чем это будет встроено (раз так указанный) в блок.

Сборка-сателлит является разностью/дельтой Ваших основных ресурсов блока и Ваших локализованных ресурсов. Таким образом, если у Вас есть Strings.resx с 100 строками, в MainAssembly.dll которых 10 изменений во французской канадской Культуре, у Вас должен быть MainAssembly.resources.dll (сборка-сателлит), содержащая просто те 10 строк в подкаталоге CA франка папки DLL. Когда Вы запрашиваете для строкового ресурса с помощью ResourceManager, он принимает во внимание текущую культуру. Если CA франка, это будет сначала искать строку в сборке-сателлите в папке CA франка, если не найденный это отступит к ресурсам в самом DLL и возврате это. Механизм должен искать его в следующем порядке всегда.

  - [fr-CA subfolder]\MyAssembly.resources.dll 
  - [fr subfolder]\MyAssembly.resources.dll 
  - DLL itself

Для получения дополнительной информации проверьте http://www.dotneti18n.com/ или главу Ресурсов 'Программирования WPF'

5
ответ дан 14 December 2019 в 19:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: