Ответ 1
Я обычно структурирую свои ресурсы следующим образом:
Первый файл ресурсов используется всем приложением (например, Project.Core
) и включает все виды широко используемых общих строк. Я действительно не делаю разницы между ошибками/исключениями и протоколированием:
-
CommonResources.resx
Модификатор доступа: Public-
Error_Context
например,Error_ArgumentCannotBeNull
-
Warn_Context
например,Warn_ApplicationSettingNotFoundUseDefault
-
Info_Context
например,Info_UpdateAvailable
-
Validation_Context
например,Validation_EmailNotValid
-
Второй файл ресурсов используется уровнем представления и содержит все виды строк пользовательского интерфейса. Именование может варьироваться от проекта к проекту, но обычно оно выглядит как следующая схема:
-
PresentationResources.resx
Модификатор доступа: внутренний-
Common_Context
например,Common_Yes
-
Section/Controller_Window/View_Context
например,Help_FAQ_HeadlineHowToUseResources
илиHelp_FAQ_TextHowToUseResources
-
Наконец, каждый проект/сборка также имеет внутренний файл ресурсов для ресурсов Error/Warn/Info/Validation, которые слишком специфичны для использования в файле CommonResources.resx
. Я должен признать, что я в основном называю этот файл ресурсов InternalResources.cs
;)
-
InternalResources.resx
Модификатор доступа: внутренний-
Classname_Error_Context
например,BCrypt_Error_InvalidSaltRevision
-
Classname_Warn_Context
-
Classname_Info_Context
-
Classname_Validation_Context
-