追加のコードを記述せずに、app.config にカスタム セクションを追加できます。configSections
そのようなノードで新しいセクションを「宣言」するだけです
<configSections>
<section name="genericAppSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</configSections>
次に、このセクションを定義して、キーと値を入力します。
<genericAppSettings>
<add key="testkey" value="generic" />
<add key="another" value="testvalue" />
</genericAppSettings>
このセクションからキーの値を取得するにはSystem.Configuration
、プロジェクトへの参照として dll を追加し、メソッドを追加using
して使用する必要がありますGetSection
。例:
using System.Collections.Specialized;
using System.Configuration;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
NameValueCollection test = (NameValueCollection)ConfigurationManager.GetSection("genericAppSettings");
string a = test["another"];
}
}
}
良いことは、これが必要な場合にセクションのグループを簡単に作成できることです。
<configSections>
<sectionGroup name="customAppSettingsGroup">
<section name="genericAppSettings" type="System.Configuration.AppSettingsSection, System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
// another sections
</sectionGroup>
</configSections>
<customAppSettingsGroup>
<genericAppSettings>
<add key="testkey" value="generic" />
<add key="another" value="testvalue" />
</genericAppSettings>
// another sections
</customAppSettingsGroup>
グループを使用する場合、セクションにアクセスするには、次の{group name}/{section name}
形式を使用してアクセスする必要があります。
NameValueCollection test = (NameValueCollection)ConfigurationManager.GetSection("customAppSettingsGroup/genericAppSettings");