【C#】設定ファイル(App.config)からデータを取得する方法

C#

アプリケーションを作っていると、オプションだったり、初期値だったりを外部ファイルに外出ししたい場合があると思います。

C#ではアプリケーションプロジェクトを作成するとデフォルトでApp.configファイルが作成されるため、今回はApp.configファイルからデータを取得するクラスを紹介します。

設定情報の取得方法

System.Configration.ConfigurationManager

App.configからデータを取得する機能自体はSystem.Configration名前空間として提供されています。

プロジェクトの参照にSystem.Configrationを追加することで使用できます。

System.Configration.ConfigurationManagerクラスの静的メソッドを使用して設定情報を取得する方法を以下に示します。

App.config

使用方法

 

結果の通り、設定情報を取得出来ました。

が、すべて文字列として取得されます。

実際に使用する場合はキャストする必要がありますが、いちいち個別にキャストするのは面倒なので型を指定して値を取得出来るようにした汎用クラスを定義します。

型を指定して値を取得する

System.Configration.ConfigurationManagerのラッパークラスを作成します。

ConfigUtil.cs

使用方法

第1引数に設定情報のキー名、第2引数にデフォルト値を指定します。

第2引数は指定しない場合は型のデフォルト値になります。(参照型はnull, 数値型は0)

おまけ

DB接続文字列の取得と設定ファイルにキーが存在するかどうかを判定する方法を記載します。

接続文字列にDBのユーザー名、パスワードが含まれる場合は注意してください。

まとめ

型とデフォルト値を指定出来るため、System.Configration.ConfigurationManagerをそのまま使用するよりは使い勝手がいいと思います。

プロジェクトのリソースファイルに設定情報を埋め込む方法もありますが、自分はあまり使用していません。

App.configだと手軽に設定値を変更出来るのが便利でこちらをよく使用しています。

ただし、ユーザーに変更されてはまずい値はApp.configには定義しないように気を付けましょう。

C#プログラミング
凡人プログラマーのブログ

コメント