مساعدة باستخدام ConfigurationSection لقراءة بشكل صحيح من ملف التكوين

StackOverflow https://stackoverflow.com/questions/254976

سؤال

وأنا أحاول أن إنشاء فصول القراءة من ملف التكوين الخاص بي باستخدام 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 مع مخطط التكوين الخاص بك. يمكنك استخدام سمات للسماح صافي معرفة الخصائص التي تتطابق فيها عناصر.

وهكذا، يمكنك إنشاء PAYMENTMETHOD، وأنها ترث من ConfigurationSection

وسوف تقوم بإنشاء SubPaymentMethod، وأنها ترث من ConfigurationElement.

وPAYMENTMETHOD سيكون له ConfigurationElementCollection من SubPaymentMethods في ذلك كخاصية، هذه هي الطريقة التي سلك حتى الأنواع المعقدة معا.

وأنت لا تحتاج لكتابة الخاص توزيع التعليمات البرمجية 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

نصائح أخرى

هذا ينبغي أن تساعدك على معرفة كيفية إنشاء مقاطع التكوين بشكل صحيح، ثم قرأ منها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top