4

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>
4

2 に答える 2

5

ここでの魔法は、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; }
   }

}

等...

ネストされたタイプを持つことができるようにConfigurationElementCollectionsを作成する方法については、ここを参照してください。

http://blogs.neudesic.com/blogs/jason_jung/archive/2006/08/08/208.aspx

于 2008-10-31T21:36:11.777 に答える
3

これは、構成セクションを正しく作成してから読み取る方法を理解するのに役立ちます。

于 2008-10-31T21:27:58.143 に答える