2010-05-18 61 views
0

有一個主類有2個子類(每個代表獨立的實體),所有類都需要序列化。我該如何繼續? 我的要求是當我選擇MainClass時,我應該爲每個子類和主類獲取xml。在此先感謝......如果我的做法是不正確......正確的,以及..對象及其包含對象的序列化

下面給出防爆...

class MainClass 
{ 
    SubClass1 objSubclass1 = null; 
    SubClass2 objSubclass2 = null; 
    public MainClass() 
    { 
    objSubclass1 = new SubClass1(); 
    objSubclass2 = new SubClass2(); 
    } 
    [XmlElement("SubClass1")] 
    public SubClass1 SubClass1 {get {return objSubclass1;} } 
    [XmlElement("SubClass2")] 
    public SubClass2 SubClass2 {get {return objSubclass2;} } 
} 

Class SubClass1 
{ 
    Some properties here... 
} 

Class SubClass2 
{ 
    Some properties here... 
} 

回答

1

對於XML序列化來處理屬性,您需要同時擁有屬性的getter和setter。

此外,通常當使用術語子類時,它表示從基類派生的類。這似乎並非如此,所以你的例子有點令人困惑。

如果您確實需要序列化子類,其中屬性的靜態類型是基類,請參閱XmlIncludeAttribute

2

XML序列化需要的屬性進行讀/寫。所以你需要實現getset

如果你不喜歡這個限制,那麼你可以實現IXmlSerializable(在鏈接頁面上有一個例子),但它可能比我認爲的這樣一個簡單的需求值得更多的麻煩。

相關問題