2008-10-31 83 views
4

我想創建類使用ConfigurationSection和ConfigurationElementCollection從我的配置文件讀取,但我很難。使用ConfigurationSection從配置文件正確讀取的幫助

由於配置的一個例子:


<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> 
+0

你能給我你想要做什麼的提示?我的意思是,當我不知道背後的原因時,提供XMLReader似乎相當侮辱他 – websch01ar 2008-10-31 21:15:28

回答

5

這裏的魔術就是使用ConfigurationSection類。

這些類只需包含與您的配置模式匹配1:1的屬性。您可以使用屬性讓.NET知道哪些屬性匹配哪些元素。

所以,你可以創建付款方法,並讓它自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

3

This應該幫助你找出如何正確地創建配置部分,然後從中讀出。