यह "गृहकार्य-आश" और/या तुच्छ जैसा प्रतीत हो सकता है, लेकिन यह वास्तविक व्यापार उद्देश्य के लिए है; यह बस इतना आसान तरीका है कि मैं समझाने के बारे में सोच सकता हूं कि मैं क्या करने की कोशिश कर रहा हूं।बेस क्लास ऑब्जेक्ट्स की सूची से व्युत्पन्न प्रकारों की पहचान
मान लीजिए कि मेरे पास एक पशु वर्ग है, और कुछ अन्य वर्ग (पक्षी, बिल्ली, कंगारू) हैं। इनमें से प्रत्येक पशु से विरासत में मिलता है।
पशु इस प्रकार दिखाई देंगे:
public class Animal
{
public Animal()
{
}
public string Name { get; set; }
public string AnimalType { get; set; }
public List<Animal> Friends { get; set; }
}
कंगारू इस प्रकार दिखाई देंगे:
public class Kangaroo : Animal
{
public Kangaroo()
{
}
public int TailLengthInches { get; set; }
}
मान लीजिए कंगारू दो दोस्तों, एक पक्षी और एक बिल्ली है। मैं उन्हें "पशु" मित्रों (प्रकार के रूप में पशु) की सूची में कैसे जोड़ सकता हूं, लेकिन व्युत्पन्न कक्षाओं के गुणों तक पहुंचने की क्षमता को संरक्षित करता हूं? (जैसा कि, मुझे अभी भी उन गुणों के साथ काम करने में सक्षम होना चाहिए जो जानवरों के प्रकार के लिए विशिष्ट हैं, जैसे पक्षी के लिए फेदरकॉलर, उदाहरण के लिए, भले ही उन्हें केवल "जानवर" माना जाएगा।
कारण I ऐसा करने की कोशिश कर रहा हूं कि जब मैं बाद में जानवर के "दोस्तों" की सूची प्राप्त करता हूं, तो यह जानना महत्वपूर्ण है कि मुझे पता है कि दोस्त किस प्रकार का पशु है। जानवर के प्रकार (चाहे वह पक्षी, बिल्ली, आदि) के आधार पर हो। मैं कुछ अलग करना चाहता हूं (वास्तव में एक एएसपी.नेट पेज पर एक अलग टेम्पलेट दिखाएं, लेकिन मुझे उस विशेष रूप से मदद की ज़रूरत नहीं है)
मुझे लगता है कि यह इस पर उबालता है ... अगर मेरे पास है पशु की एक सूची, मुझे कैसे पता चलेगा कि सूची में प्रत्येक ऑब्जेक्ट के लिए व्युत्पन्न प्रकार क्या था, इसलिए मैं उन्हें अपने व्युत्पन्न प्रकार पर वापस डाल सकता हूं या कुछ और कर सकता हूं मुझे प्रत्येक व्युत्पन्न प्रकार पर विशिष्ट, अलग-अलग गुणों को प्राप्त करने की अनुमति देता है?
धन्यवाद!
टिप देख रहे हैं पर फिल्टर करने के लिए LINQ का उपयोग कर सकते हैं:, सही ढंग से प्रदर्शित संपादक में 101010 बटन का उपयोग करने कोड प्राप्त करने के लिए (या चार रिक्त स्थान से मांगपत्र) । – itowlson