Предлагаю взглянуть на библиотеку ocLazyLoad , которая регистрирует модули (или контроллеры, службы и т. д. на существующем модуле) во время выполнения, а также загружает их с помощью requireJs или другой такой библиотеки.
Из MSDN docs:
Примечания Как правило, регистр заголовка преобразует первый символ слова в верхний регистр а остальные символы в нижнем регистре. Однако этот метод в настоящее время не обеспечивает надлежащий регистр для преобразования слова, которое полностью состоит из прописных букв, например аббревиатуры . В следующей таблице показано, как этот метод отображает несколько строк.
так что это ожидаемое поведение. Вы можете сначала строчные буквы, если они все в верхнем регистре, а затем запустить для нее ToTitleCase.
Я подозреваю, что это потому, что слова, написанные заглавными буквами, должны быть аббревиатурами, например USA.
Например, вы бы не ожидали, что "Землетрясение в США" будет изменено на "Землетрясение в США", не так ли?
В документации MSDN сказано:
Как правило, регистр заголовка преобразует первый символ слова в верхний регистр, а остальные символы в нижний регистр. Однако слова, написанные полностью в верхнем регистре, например аббревиатуры, не преобразуются.
Итак, это работает как задумано. Попробуйте TextInfo.ToTitleCase (TextInfo.ToLowerCase ("STRINGINCAPS")
например:
string TitleCaseString;
TextInfo myTI = new CultureInfo("en-US",false).TextInfo;
TitleCaseString = myTI.ToTitleCase(myTI.ToLowerCase("STRINGINCAPS"));