我正在构建一款C#应用程序,很可能包含一些资源文件来存储用于语言翻译的字符串。我正在尝试为我的资源文件中的键制定命名规则。有人在我之前解决过这个问题吗?
我正在构建一款C#应用程序,很可能包含一些资源文件来存储用于语言翻译的字符串。我正在尝试为我的资源文件中的键制定命名规则。有人在我之前解决过这个问题吗?
只需使用帕斯卡式命名约定。不要将键归属于模块或类。泛化它,以便可以重复使用。
例如:ReadWriteWarningMessage
点分隔符约定对于菜单项非常有效。但是动态生成的字符串或用户消息怎么办。
您是否考虑过使用下划线,例如Menu_File_Open或者Place_StringDescription等?我目前采用的方案是将常见内容放在Common_中,如Common_PressHereTo,而视图特定的则放在其各自的位置,例如MainMenu_FileOpen。通常,在下划线之前,我会输入资源出现的位置,而在下划线之后则是描述性的文本。
我尝试按照命名空间的方式来组织它,以便与我正在使用的程序结构相似。因此,如果您有MyCompany.MyProduct.MyModule,那么该模块中的字符串将是MyModule_Blah_Blah。这样它们在整个产品中就是唯一的。
public static class Messages
{
public const String CloseConfirmation = "CloseConfirmation";
public static String GetMessage( String messageId )
{
return //your namespace//.Properties.Resources.ResourceManager.GetString( messageId );
}}
并使用以下方式访问
MessageBox.Show( Messages.GetMessage(Messages.CloseConfirmation));