2012-08-22 3 views
5

На странице Names of Resources на MSDN говорится следующее.Как я могу определить идентификаторы ресурсов?

Использовать разделитель точек (".") Для определения идентификаторов с четкой иерархией.

Например, такие имена, как Menus.FileMenu.Close.Text и Menus.FileMenu.Close.Color, соответствуют настоящему руководству.

Как это сделать? Когда я пытаюсь, мне говорят, что точка недействительна в идентификаторе ресурса, как это.

Disappointing.

Я могу понять, почему это не действует [1], поэтому я всегда считал, что не было возможности идентификаторов гнезда ресурсов, и никогда не пытался до сих пор ... но MSDN говорит я Можно. Что мне не хватает?

[1] От просмотрения автоматически созданного файла Resource.Designer.cs.

ответ

2

Я тоже это видел, и похоже, что он существует уже несколько лет.

Генератор сильного типа генерирует сильный типизированный класс и сопоставляет каждый ресурс свойству этого класса. Имя ресурса (идентификатор) будет использоваться как имя свойства. Идентификатор с символом точки недействителен в C# (как вы заявили в вопросе). Тем не менее, генератор заменит точку символом подчеркивания, так что вы все равно получите действительный класс с жестким типом.

Обычно я просто заменяю точку знаком подчеркивания. Странно, однако, что они все еще не изменили это в руководящих принципах. (Или, может быть, я что-то пропустил?)

+1

Также сделал то же самое с символом подчеркивания. – umlcat

+0

Я заметил из размышлений, что внутренне Microsoft, похоже, использует подчеркивания для разделения ресурсов, поэтому, возможно, это * просто устаревшая документация. – crdx

+0

«Однако генератор заменит точку подчеркиванием« Я не смог добиться этого. Он просто жалуется, как на моем снимке экрана. – crdx

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