我的资源结构通常如下:
第一个资源文件由整个应用程序使用(例如
Project.Core
)包括各种广泛使用的普通字符串。实际上,我对错误/异常和日志记录没有任何区别:
-
CommonResources.resx
访问修饰符:public
-
Error_Context
例如
Error_ArgumentCannotBeNull
-
Warn_Context
例如
Warn_ApplicationSettingNotFoundUseDefault
-
Info_Context
例如
Info_UpdateAvailable
-
Validation_Context
例如
Validation_EmailNotValid
第二个资源文件由表示层使用,包含各种ui字符串。命名可能因项目而异,但通常如下架构所示:
-
PresentationResources.resx
访问修饰符:内部
-
Common_Context
例如
Common_Yes
-
Section/Controller_Window/View_Context
例如
Help_FAQ_HeadlineHowToUseResources
或
Help_FAQ_TextHowToUseResources
最后,每个项目/程序集都有一个内部资源文件,其中包含的error/warn/info/validation资源过于特定,无法放入
公共资源.resx
文件。我不得不承认,我主要是命名这个资源文件
InternalResources.cs
;)
-
InternalResources.resx
访问修饰符:内部
-
Classname_Error_Context
例如
BCrypt_Error_InvalidSaltRevision
-
Classname_Warn_Context
-
Classname_Info_Context
-
Classname_Validation_Context