Avatar ·

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

सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ और मुझे एक ऐसी स्थिति का सामना करना पड़ा जहाँ मुझे अपनी खुद की क्लास बनाने की आवश्यकता है जो एक list की तरह व्यवहार करे, लेकिन अतिरिक्त logic के साथ। उदाहरण के लिए, मुझे orders की एक list store करनी है, और मैं चाहता हूँ कि जब कोई नया order जोड़ा जाए तो कुल राशि अपने आप पुनर्गणना हो जाए। मैंने सोचा कि सबसे आसान तरीका `List` से inherit करना और अपने methods जोड़ना है। यहाँ मैंने क्या बनाया: ```csharp public class OrderList : List { public decimal TotalSum { get; private set; } public new void Add(Order order) { base.Add(order); TotalSum += order.Price; } public new bool Remove(Order order) { bool result = base.Remove(order); if (result) TotalSum -= order.Price; return result; } } ``` यह काम करता हुआ लगता है, लेकिन मैंने कई लेख पढ़े हैं जहाँ लिखा है कि `List` से inherit करना एक बुरी practice है। क्यों? आखिर यह बहुत सुविधाजनक है! यदि inherit नहीं कर सकते