ConfigurationSectionを使用して、構成ファイルから適切に読み取るためのヘルプ
-
05-07-2019 - |
質問
ConfigurationSectionおよびConfigurationElementCollectionを使用して構成ファイルから読み取るクラスを作成しようとしていますが、苦労しています。
構成の例として:
<PaymentMethodSettings>
<PaymentMethods>
<PaymentMethod name="blah blah" code="1"/>
<PaymentMethod name="blah blah" code="42"/>
<PaymentMethod name="blah blah" code="43"/>
<Paymentmethod name="Base blah">
<SubPaymentMethod name="blah blah" code="18"/>
<SubPaymentMethod name="blah blah" code="28"/>
<SubPaymentMethod name="blah blah" code="38"/>
</Paymentmethod>
</PaymentMethods>
</PaymentMethodSettings>
解決
ここでの魔法は、ConfigurationSectionクラスを使用することです。
これらのクラスには、構成スキーマと1:1で一致するプロパティを含める必要があります。属性を使用して、どのプロパティがどの要素に一致するかを.NETに知らせます。
したがって、PaymentMethodを作成し、ConfigurationSectionから継承させることができます
そして、SubPaymentMethodを作成し、ConfigurationElementから継承します。
PaymentMethodには、プロパティとしてSubPaymentMethodsのConfigurationElementCollectionがあります。これが、複合型を結び付ける方法です。
独自のXML解析コードを記述する必要はありません。
public class PaymentSection : ConfigurationSection
{
// Simple One
[ConfigurationProperty("name")]]
public String name
{
get { return this["name"]; }
set { this["name"] = value; }
}
}
etc ...
ネストされた型を持つことができるようにConfigurationElementCollectionsを作成する方法については、こちらを参照してください:
http://blogs.neudesic.com /blogs/jason_jung/archive/2006/08/08/208.aspx
他のヒント
これは、構成セクションの作成方法を理解するのに役立ちます。正しく、それらから読み取ります。
所属していません StackOverflow