Представьте, что вы работаете над проектом .Net 4.0, который состоит из сотен сборок, каждая из которых имеет свой собственный файл ресурсов (.resx) для локализации. Доступ к локализованным строкам осуществляется из C # через классы, автоматически сгенерированные с помощью ResXFileCodeGenerator (который создает файл «ResourceFile.Designer.cs»): string test = ResourceFile.TestString;
Каждая сборка имеет локализованные строки, относящиеся к это, но есть строки, общие для всех сборок. Вы говорите себе, что было бы неплохо иметь эти «общие строки» в «родительском» файле ресурсов, к которым код будет откатываться, если ключ ресурса не доступен в «локальном» файле ресурсов. Затем вы говорите: «Эй, здесь может работать наследование». И действительно, сделать что-то подобное в автоматически созданном файле дизайнера действительно работает:
внутренний класс ResourceFile: ParentResourceFile
То есть строки, не определенные в ResourceFile
, но определенные в ParentResourceFile
,по-прежнему можно получить доступ с помощью ResourceFile.StringInParentFile
.
Но что-то в заголовке файла дизайнера вас беспокоит: « Изменения в этом файле могут вызвать некорректное поведение, и будет утерян, если код регенерируется . "Кроме того, вы знаете, что использование автоматически созданных файлов дизайнера не одобряется. Итак, вы приходите сюда и спрашиваете:
И вы говорите «спасибо».