たこぜりー研究室

大腸菌DNAは4.64Mbp。酵母は13Mbpで、ヒトは3Gbp

スポンサーサイト

#
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

リソース命名規則

#381
リソースの名前 [MSDN Library]

リソース キーでは Pascal 形式を使用します。

短い識別子ではなく、説明的な名前を指定します。わかりやすさを損なわない範囲で、できるだけ簡潔な名前にしてください。

共通言語ランタイム (CLR: Common Language Runtime) プログラミング言語の言語固有のキーワードを使用しないようにします。

リソースの名前を付けるときは、英数字とアンダースコアだけを使用します。

区切り記号としてドット (".") を使用して識別子を入れ子にし、階層構造を明確にします。

例外メッセージ リソースには、次の名前付け規則を適用します。リソース識別子は、例外の種類名と例外の短い識別子をドットで区切ったものを使用します。

でも VS2005 で "ArgumentException.BadEnumValue" とか "Menus.FileMenu.Close.Text" をやると「有効な識別子ではありません」と警告になるんだよな。つまり、リソースにアクセスするために自動生成されたクラスでプロパティを作れなくなるためであるようだ。(正確にはドットをアンダーラインに置き換えたプロパティ名になる)
しかも、.NET Framework クラスライブラリではこれに従っていなかったりして。

結局、自前のクラス(とはいえ自動生成されたクラスを参考にして)を使って、リソースにアクセスすることになるという罠。
自動生成しないようにするには、プロパティにあるカスタム ツールに指定されている ResXFileCodeGenerator を削除すればいいし。
あるいは自動生成されたソースファイルのビルドアクションをなしにするか。

まぁ警告を無視すればいいのかもしれないが。
自動生成を阻止しても、resx ファイルを開くたびに「このファイルに対して厳密に型指定されたリソースを有効にするには、ここをダブルクリックしてください」の警告が出るが。

コメント


コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:  http://takojelly.blog2.fc2.com/tb.php/381-6db9e8f6
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。