मेरे पास ऐप/web.config में पंजीकृत एक कस्टम कॉन्फ़िगरेशन अनुभाग है, चलो इसे MySection
पर कॉल करें। मेरे पास नामक अनुभाग के अंदर ElementCollection
तत्व है। तत्व संग्रह के अंदर मैं तत्वों को रखना चाहता हूं जो विभिन्न वर्गों द्वारा दर्शाए जाते हैं - विचार यह है कि ये कुछ सामान्य गुणों के साथ समान वर्ग हैं और कुछ उदाहरण के लिए विशिष्ट हैं।.NET कस्टम कॉन्फ़िगरेशन - क्या मेरे पास गैर-सजातीय तत्वों के साथ तत्व संग्रह हो सकते हैं?
यहाँ कुछ एक्सएमएल विन्यास उदाहरण है:
<MySection>
<MyElements>
<Element1 name="someProp1" value="someValue" />
<Element2 name="someProp2" format="{0}{1}" />
</MyElements>
</MySection>
मेरी सरल उदाहरण में, सभी तत्वों को एक 'नाम' संपत्ति होनी चाहिए, कुछ भी एक 'मान' संपत्ति है, और अन्य एक 'प्रारूप' संपत्ति। यहां, मुझे Element1
और Element2
को दो अलग-अलग वर्गों द्वारा .NET रनटाइम में प्रदर्शित किया जाना चाहिए, जिसमें एक सामान्य आधार वर्ग है जो 'नाम' संपत्ति को परिभाषित करता है।
जहां तक मैंने .NET कॉन्फ़िगरेशन में खोला है, मुझे यह धारणा मिली है कि एक तत्व संग्रह (जैसे 'माईलेमेंट्स') में समरूप तत्व (केवल एक प्रकार का) होना चाहिए। तो, मैं जो चाहता हूं उसे हासिल करना संभव हो सकता है - इसमें विभिन्न वर्गों के तत्व शामिल हैं। विचार अलग-अलग तत्व प्रकारों के लिए एक से अधिक तत्व संग्रह से बचने के लिए है और प्रत्येक कस्टम ConfigurationElement
कार्यान्वयन के लिए सभी दोहराने वाले गुणों को नहीं लिखना है।
अपने जवाब के लिए धन्यवाद। दरअसल, एक आम पूर्वज है जिसका अर्थ है कि मैं वैसे भी उपयोग करना चाहता हूं। कम से कम, मैं समान तत्वों के सामान्य गुणों का पुन: उपयोग करने की कोशिश कर रहा हूं, इसलिए आम पूर्वज उन्हें स्टोर कर सकता है और ठोस तत्वों के लिए कोड को भी कम कर सकता है :) –