31

言語翻訳で使用する文字列を格納するためのいくつかのリソース ファイルを含む可能性が高い C# アプリを構築しています。リソース ファイル内のキーの命名規則を考え出そうとしています。私の前に誰かがこれに取り組んだことがありますか?

4

5 に答える 5

17

パスカルの命名規則を使用してください。キーをモジュールまたはクラスに帰属させないでください。再利用できるように一般化します。

例: ReadWriteWarningMessage

ドットで区切られた規則は、メニュー項目に対して適切に機能します。しかし、動的に生成される文字列やユーザー メッセージはどうでしょうか。

于 2009-06-04T18:30:24.253 に答える
5

Menu_File_Open や Place_StringDescription などのアンダースコアを検討しましたか? 私は現在、一般的なものが Common_PressHereTo のような Common_ に移動し、特定のビューが MainMenu_FileOpen のようなそれぞれの場所に移動するスキームを採用しています。一般に、アンダースコアの前にリソースが表示される場所を入力し、アンダースコアの後に説明テキストを入力します。

于 2009-05-28T18:36:52.327 に答える
4

プログラム構造のレイアウトに使用している名前空間と同様に整理しようとしています。したがって、MyCompany.MyProduct.MyModule がある場合、そのモジュールの文字列は MyModule_Blah_Blah になります。そうすれば、それらは製品全体の中でユニークになります。

于 2009-05-28T18:40:04.490 に答える
0

次のようなリソースに名前と値のペアがある場合

CloseConfirmation - 保存せずにウィンドウを閉じますか?

Messages という新しいクラスを追加します。

 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));

これが役立つことを願っています。

于 2009-05-22T04:59:09.517 に答える