मैं किसी ऑब्जेक्ट के लिए जेनेरिक रैपर बनाने का कोई तरीका ढूंढ रहा हूं।
रैपर ऑब्जेक्ट उस वर्ग की तरह व्यवहार करेगा जो इसे लपेटता है, लेकिन अधिक गुण, चर, विधियों इत्यादि के लिए सक्षम होगा, उदाहरण के लिए वस्तु गिनती, कैशिंग आदिऑब्जेक्ट्स के लिए सी # रैपर
आवरण वर्ग आवरण कहा जा कहो, और कक्षा स्क्वायर कहा जा लिपटे और निर्माता स्क्वायर (डबल edge_len) है हो सकता है और गुण/तरीकों EdgeLength और क्षेत्र, मैं इस प्रकार के रूप में उपयोग करना चाहते हैं:
Wrapper<Square> mySquare = new Wrapper<Square>(2.5); /* or */ new Square(2.5);
Console.Write("Edge {0} -> Area {1}", mySquare.EdgeLength, mySquare.Area);
जाहिर है मैं इस तरह के एक आवरण वर्ग प्रत्येक वर्ग मैं रैप करने के लिए चाहते हैं के लिए, मैं बना सकते हैं, लेकिन मैं एक सामान्य समाधान के लिए देख रहा हूँ। ई। Wrapper<T>
जो आदिम और यौगिक दोनों प्रकारों को संभाल सकता है (हालांकि मेरी वर्तमान स्थिति में मैं केवल अपनी कक्षाओं को लपेटने से खुश हूं)।
सुझाव?
धन्यवाद।
आप इसे सी # तक 3.0 तक नहीं कर सकते हैं। संस्करण 4.0, हालांकि, आपको नई गतिशील प्रकार प्रणाली के माध्यम से ऐसा करने दे सकता है। –
क्या आप विस्तृत कर सकते हैं? धन्यवाद। – Haggai