Avatar ·

C# में अपने क्लास को List<T> से इनहेरिट क्यों नहीं करना चाहिए?

सभी को नमस्ते! मैं एक शुरुआती C# डेवलपर हूँ और मुझे डिज़ाइन की समस्या का सामना करना पड़ा। मैं एक लाइब्रेरी मैनेजमेंट एप्लिकेशन लिख रहा हूँ। मेरे पास `Book` क्लास है और मैं `Library` क्लास बनाना चाहता हूँ जिसमें किताबों की सूची हो और उसके अपने मेथड्स हों, जैसे `FindByAuthor()` या `GetTotalPages()`। पहले मैंने सोचा कि सबसे तार्किक बात यह है कि बस `List` से इनहेरिट कर लूँ: ```csharp public class Library : List { public List FindByAuthor(string author) { return this.Where(b => b.Author == author).ToList(); } public int GetTotalPages() { return this.Sum(b => b.Pages); } } ``` यह काम करता है, लेकिन मैंने Stack Overflow पर पढ़ा कि यह बुरी प्रैक्टिस है। लोग लिखते हैं कि "List से इनहेरिट न करें"। लेकिन मुझे समझ नहीं आता क्यों? आखिर यह बहुत सुविधाजनक है — आपको तुरंत सभी लिस्ट मेथड्स (Add, Remove, इंडेक्सर आदि) मिल जाते हैं। मेरा कोड छोटा और सुंदर हो जाता है। क्या आप उदाहरणों के साथ समझा सकते हैं कि यह कैसे