Saturday 15 February 2014

vb.net - What is good practice for abstracting generics? -


इस परिदृश्य पर विचार करें:

  पब्लिक क्लास कंडीशन (टी के) '... अंत कक्षा   

अब, मैं इस प्रकार के कई उदाहरणों को विभिन्न प्रकारों के साथ बना देता हूं। अब मैं इन उदाहरणों के साथ एक जेनेरिक सूची को पॉप्युलेट करने की इच्छा रखता हूं कुछ की तरह:

  नई स्थिति (दशा में ....?) स्थितियां.एड (नई शर्त (स्ट्रिंग की)) शर्तें.एड (नई शर्त (डबल की)) शर्तें .add (नई शर्त (कस्टम क्लास की))   

यह करने का सबसे अच्छा तरीका क्या है? अभी के लिए मैं निम्नलिखित कर रहा हूं:

  लोक कक्षा की स्थिति (टी के) आईसीडंडिशन '' लागू करती है ... एंड क्लास   

और इसे इस तरह से प्रयोग करना: <पूर्व> नई शर्तें (आईसींडिशन) की शर्तों के रूप में मंद शर्तें (नई शर्त (स्ट्रिंग का)) शर्तें.एड (नई शर्त (डबल की)) शर्तें। (नई शर्त ))

हालांकि, ICondition पूरी तरह से खाली है जो मुझे लगता है कि चीजों के बारे में जाने के लिए शायद एक बेहतर या अधिक स्वीकार्य तरीका है। मैं खाली आधार वर्ग से भी प्राप्त कर सकता हूं, क्या यह बेहतर होगा? इस तरह की बात करने का सबसे पसंदीदा तरीका क्या है?

मैं समझता हूं कि जब तक जेनरिक में लिस्ट की सूची एक विस्तृत प्रकार का है, जिसे मैं किसी भी प्रकार की शर्तों को सम्मिलित कर सकता हूं। हालांकि मैं इसे आवश्यक से अधिक व्यापक बनाना नहीं चाहता - मैं केवल उन वस्तुओं को सम्मिलित करना चाहता हूं जो कि लोक श्रेणी की स्थिति (टी के) के उदाहरण हैं, लेकिन जिनके प्रकार भिन्न हो सकते हैं।

इसका जवाब अलग है, जो आपके द्वारा उपयोग किए जा रहे .NET ढाँचा के संस्करण के आधार पर अलग है। समस्या को समझने के लिए सहप्रतिनिष्ठ और भ्रांत करने वाले के बारे में लेख देखें

.NET 4 और 4.5 इस प्रकार के उपयोग का समर्थन करते हैं।

.NET के पहले के संस्करणों को आप ICondition इंटरफ़ेस जैसे कुछ का उपयोग कर सकते हैं

No comments:

Post a Comment