2011-02-09 10 views
7

के साथ बाल वर्ग को क्रमबद्ध करने के लिए कैसे करें मैं एक प्रकार/वर्ग को क्रमबद्ध करने में सक्षम हूं लेकिन क्या कोई तरीका है कि मैं इसे बेस क्लास को क्रमबद्ध भी कर सकता हूं?एक्सएमएल को अपने बेस क्लास

उदाहरण के लिए:

class B:A 

यहाँ मैं वर्ग बी क्रमानुसार करने में सक्षम हूँ लेकिन कैसे मैं कक्षा एक क्रमानुसार कर सकते हैं?

+0

बेस क्लास से बिल्कुल क्रमबद्ध नहीं है? क्या आप अधिक सटीक हो सकते हैं। – rene

+0

इसका सरल सवाल, यदि मैं एक बाल वर्ग को क्रमबद्ध कर रहा हूं, तो मैं चाहता हूं कि इसकी बेस क्लास को इसके साथ क्रमबद्ध होना चाहिए। – BreakHead

+0

भले ही यह एक साधारण सवाल है, आप इसे सटीक तरीके से व्यक्त करने में विफल रहते हैं। इसका मतलब क्या है "इसके साथ धारावाहिक" क्या है? –

उत्तर

8

A अग्रिम में पता होना चाहिए, अर्थात

[XmlInclude(typeof(B))] 
public class A {...} 


public class B {...} 

अब एक new XmlSerializer(typeof(A)) एक A या एक B को क्रमानुसार कर सकते हैं। आप बिना गुणों को extraTypes पैरामीटर में अधिभारित XmlSerializer कन्स्ट्रक्टर में पास करके भी कर सकते हैं, लेकिन फिर - रूट A होना चाहिए; i.e. new XmlSeralializer(typeof(A), new[] {typeof(B)})

+0

एक बार फिर थानक्स मार्क – BreakHead

1

आपका प्रश्न बहुत अस्पष्ट है।

तुम बस, जब serializing लेकिन जब आपको लगता है कि आप प्रकार दिए गए एक जब एक serializer (new XmlSerializer(typeof(MyClass), ExtraTypesGoHere);) बनाने ग्रहण कर सकते हैं प्रदान करने के लिए की जरूरत है आधार वर्ग के लिए अपनी वस्तु डाली सकता है, या आप कक्षाओं में [XmlInclude(Type type)] का उपयोग करने वाले उन उप-प्रकारों की वस्तुओं को उजागर करने वाले गुण हो सकते हैं।

संबंधित मुद्दे