dポイントプレゼントキャンペーン実施中!

引数でファイル名を絶対パスで読みこんで処理をする、というコンソールアプリを作成しています。

エラーメッセージなどをリソースで管理しているのですが、内容を動的に変更したいとき、どうすればよいのかわからず、困っています。

(たとえば、こういう感じです。)
リソース登録された文字列
"指定されたファイル'{1}'はありません。"
          ↑
 ここに引数で受け取ったファイル名を入れたい。

このようなリソースの作成方法や、呼び出し方法を、どなたかご教授ください。

A 回答 (3件)

たとえば、



string name = "C:\foo.bar";
string s = string.Format("指定されたファイル'{1}'はありません。", name);

とやると、s に "指定されたファイル'C:\foo.bar'はありません。" という文字列が得られます。
    • good
    • 0

失礼しました。

BLUEPIXY さんの言うとおり、'{1}' ではなくて '{0}' です。
(コピー & ペーストしたとき気付きませんでした……)
    • good
    • 0

>エラーメッセージなどをリソースで管理している


既に管理されているなら
>リソースの作成方法や、呼び出し方法
は、わかっているのでは?

>"指定されたファイル'{1}'はありません。"
>          ↑
>ここに引数で受け取ったファイル名を入れたい。
は、#1で言われているように
(そういう形式の文字列が取り出せているなら)
String.Format を使うといいと思います。
{0} かな?って思いますけど。

こうした単純なメッセージなんかのリソース作成は、
resgen ツールを使うとtxt からresX ファイルが簡単に作成できます。
(もちろん、リソースを扱うクラスからでも作成できますが)
呼び出しは、ResouceManager クラスを使うのが簡単です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!