2021年4月9日金曜日

【C#】リソースファイルの使い方(文字列)

今回はC#だけ、それもVisualStudioの話。
リソースファイルからの文字列取得の方法。
ちゃんと常日頃から使っていればわかると思うんだけど、
ぼかぁ分かりませんでした。

なので、忘れないように書いておきます。


そもリソースファイルがあると何がいいのか?

面倒くさいときはソースコード内に直に書いてしまいがちなんですが、
リソースファイルに書いて、それを取っていく形にしていくと、
多言語対応の時であったり、いろんな場所で使用されているメッセージだったり
というのを、簡単に管理できるようになります。

試作でバーッと作る時であったり、ちょっと調べる時などは
面倒くさいんで敬遠しがちなんですが、
仕事でアプリケーションの多言語するときに、ソースコード直書きを変えるのが
とてもとてもつらかったので、可能な時は活用していきたい。

Resources.resxファイルの作成

VisualStudioでC#アプリケーションを作成する際の
フォームアプリケーションの場合は大体デフォルトでついてますね。
それ以外の場合は「追加>新しい項目」から「リソースファイル」で作成



リソースファイルに文字を定義、文字の取得

ファイルを作成したら、ダブルクリックで開いて
使用する文字列を定義していきます。
下記のような感じ。



これをプログラム内で引き出して、使用します。
使い方は「Properties.Resources.***」の形で名前を指定する感じ。
下記のような形で呼び出せば「strkey1_message」に定義されている値
「HelloWorld」がメッセージボックスで表示されます。

string strMessage = Properties.Resources.strkey1_message;
MessageBox.Show(strMessage);


おわりに

Properties.Resources以下に定義されている変数みたいに
アクセスする感じですかね。

覚えておければいいんですが、
プロジェクト作成のたびに忘れるので自分用に書いておきます。

共通メッセージとか、暫定対応とか言ってコードに直書きして
それが本実装の時そのままになると、絶対修正漏れとか発生するので
可能なら、いつもこういった感じでリソースに管理できるといいっすね…
(遠い目)

0 件のコメント:

コメントを投稿