単純に設定ファイルだけならアプリケーション構成ファイルの方が簡単で便利です。
(と、知り合いの人につっこまれました^^;)
アプリケーション構成ファイルは、文字通りアプリケーションの設定内容を
記述した、.Net Framework固有の設定ファイルです。
アプリケーションの設定をこのファイルに記述しておき、必要な時に読み取りにいく
処理を記述することで、容易に値を設定することが可能になります。
アプリケーション構成ファイルは、作成時には"App.config"という名前で
作成されますが、デバッグ / ビルドをした際にプロジェクト名に則した
ファイル名に変更されます。
実際に使いながら見ていきましょう。
まずは、"コンソール アプリケーション"プロジェクトを選び、
"AppConfigTest"と名前をつけます。
次に、メニューの"プロジェクト" > "新しい項目の追加"を選択します。
出てきた中から"アプリケーション構成ファイル"を選択します。
(名前を変更する必要はありません。)
作成されたばかりの"App.config"にはほとんど何も記述されていません。
このファイルがXMLファイルであること、文字エンコードが"utf-8"であること、
"configuration"という要素名のタグがあること、だけです。
ここに、以下のような記述をします。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Title" value="Localhost Web Pages" />
<add key="IPAddress" value="192.168.0.1" />
<add key="port" value="80" />
</appSettings>
</configuration>
注意しなければならないことは、"appSettings"の先頭が小文字であることです。
大文字にすると読み取れないので注意して下さい。
また、"<appSettings>"は読み取り専用であることも注意が必要です。
構成ファイルに追記をすることはあまりありませんが、
万が一そのような状況になった場合は別の方法を利用して下さい。
(個人的には別途XMLファイルを作成する方がいいと思います。)
次に、設定要素を読み出すプログラムを記述します。
そのまえに、実は"App.config"を解析するためのライブラリは、
デフォルトでは参照されていません。
よって、"プロジェクト" > "参照の追加"を選択し、".NET"の中から、
"System.Configuration"を選択します。
では、ソースを書いてみます。今回は非常に簡単です。
static void Main(string[] args)
{
Console.WriteLine(System.Configuration.ConfigurationManager.AppSettings["Title"]);
Console.WriteLine(System.Configuration.ConfigurationManager.AppSettings["IPAddress"]);
Console.WriteLine(System.Configuration.ConfigurationManager.AppSettings["port"]);
System.Threading.Thread.Sleep(5000);
}
これだけです。
本来は、"App.config"自体をもっと細かく記述することで、
読み出すプログラムも複雑になるのですが、それはまた別の機会にします。
実行してみます。
インデクサに"App.config"の"add"タグ内で指定した"key"を記述すれば、
"value"の値が返ってきます。
また、プロジェクトの "bin" > "Debug"(または"Release")フォルダを開くと、
"AppConfigTest.exe.config"というファイル名で保存されていることが
確認できます。
参照:
アプリケーション構成ファイル : msdn
「アプリケーション構成ファイル」を使用して設定ファイルを読み込む : DOBON.Net
0 件のコメント:
コメントを投稿