Допустимые ключи ресурсов в файлах ресурсов ASP.NET .resx - PullRequest
2 голосов
/ 11 июня 2009

Я использую инструмент CMS для генерации файлов ресурсов .resx.

Есть ли опасность в создании имен ресурсов с пробелами или знаками препинания в них?

Если я использую этот синтаксис для получения ресурсов, он отлично работает:

GetGlobalResourceObject("myresources", "audio,visual");

Однако это вызывает ошибку с декларативным синтаксисом ресурса, например ::

<asp:Literal ID="litLastName" runat="server" Text="<%$ Resources: GlobalResources,audio,visual %>"></asp:Literal>

Кроме того, когда я редактирую файлы .resx в Visual Studio, выдается предупреждение, если мои ключи ресурсов содержат какие-либо символы, кроме буквенно-цифровых символов и подчеркиваний. Там написано, что «имя ресурса» не является допустимым идентификатором ».

Я нарушаю правило .NET здесь?

1 Ответ

5 голосов
/ 11 июня 2009

Общее руководство для ключей ресурсов такое же, как правила для определенной вами переменной.

Вот комментарий на форумах asp.net о том, что использование периода запрещено:

http://forums.asp.net/t/967741.aspx

Ниже приведен вопрос о соглашениях об именах для соглашений о именах ключей файлов resx:

Файл ресурса (.resx) Соглашения об именах ключей?

Кроме того, если вы подумаете о том, как они используются в приложении, имеющем ключ с пробелом или что-то странное, то это действительно приведет к появлению кода. Это особенно плохо в случае использования файла ресурсов для чего-то вроде элемента управления telerik, как показано в этом кратком руководстве для элемента управления:

http://www.telerik.com/help/aspnet-ajax/advancedmultilanguagelocal.html

Если сейчас вы добавляете имя, например

I like to put spaces in resource keys.ChartTitle.TextBlock.Text

Что ж, все повсюду разойдется, потому что пробелы что-то значат.

(в приведенной выше ссылке также очевидно, почему период больше не действителен)

Полагаю, я тоже мог бы подумать и сказать, что, похоже, кто-то в Microsoft определенно считает, что это ошибка, и поэтому Visual Studio дает вам эту ошибку. Хотя, конечно, хорошо подвергать сомнению власть и власть человека над нами.

В долгосрочной перспективе, вероятно, нет причины, по которой вам НУЖНО сделать что-то столь необычное.

...