.NET 2.0 / Visual Studio 2005 におけるリソースエディタの拡張

Strongly Typed Resource 関係の続き
.NET 1.1 + Visual Studio .NET 2003 におけるマネージドリソースの編集ツールは、簡単に作成・拡張ができるとはいえ、標準ではかなり限定的な機能しかありませんでしたが、標準のリソースエディタがかなり拡張されます。
文字列以外に、画像・音楽・アイコン・外部ファイルが利用できるようになり、それらに対して object 型ではない個々のリソース形式に従った型でのアクセス手段が提供されます。
以前にも書いたように、これらは強い型付きリソースクラスが生成され、リソースを識別子で直接アクセスできるようになります。
たとえば、MyResources.resx というソースファイルを編集し、"bitmap1" という名前の画像リソースと、"app" という名前のアイコンを追加した場合、それにアクセスする C# のコードは、

Image img = MyResources.bitmap1;
Icon icon = MyResources.app;
string msg = MyResources.message;

のようになります。新しいリソースエディタで画像などのファイルを指定した場合、元データとなる画像ファイルが .resx ファイルに直接取り込まれず、新しい resx の機能である外部参照ファイルとしてファイル名のみが記録されます。このため、.resx ファイルをコンパイルし .resources ファイルを生成するためには、指定したファイルが指定したときと同じ位置に存在する必要があることに注意しなければならないでしょう。*1

*1:Windows Forms アプリケーションで取り込んだ場合にどうなるかは未確認、互換性維持のため .resx に取り込むかな?