2008-12-03 12 views
6

कम से कम मेरे लिए, जोड़ी वर्ग एक बहुत बहुउद्देशीय वर्ग है। तो माइक्रोसॉफ्ट ने इसे System.Web.UI नामस्थान में क्यों रखा?System.Web.UI में जोड़ी क्यों है?

क्या कोई कारण है कि मेरा छोटा मस्तिष्क समझ नहीं सकता है?

धन्यवाद।

उत्तर

3

मुझे नहीं लगता कि आपको एक शानदार कारण मिल जाएगा। ऐसा लगता है कि यह पहली बार वेब टीम द्वारा बनाया गया था, इसलिए उन्होंने इसे अपने नामस्थान/असेंबली में बनाया। उन्होंने के लिए LinkDemand भी जोड़ा, जो दुर्भाग्यपूर्ण है।

इसकी के संदर्भ में "उम्मीद उपयोग करते हैं," MSDN कहते हैं

[जोड़ी वर्ग] एक उपयोगिता वर्ग कि इस तरह के पेज राज्य प्रबंधन कार्य के दौरान के रूप में ASP.NET भर विभिन्न तरीकों से इस्तेमाल किया जाता है या विन्यास अनुभाग हैंडलर में।
...
जोड़ी कक्षा पृष्ठ राज्य दृढ़ता कार्यान्वयन में कई तरीकों से उपयोग की जा सकती है। सबसे आम उपयोग ViewState और ControlState संग्रह दोनों के लिए एक कंटेनर के रूप में है। इस मामले में, First संपत्ति का उपयोग ViewState, और SecondControlState के लिए किया जाता है।

+0

मेरे पास हमेशा इंप्रेशन यह एक विचार के बाद था, कुछ web.ui नेमस्पेस टीम चाहता था, लेकिन उसे सिस्टम नेमस्पेस में रखने की क्षमता नहीं थी। यह ऐसा कुछ है जो हमेशा मुझ पर खाया जाता है, और मैं सोच रहा था कि क्या कोई तर्कसंगत कारण है जिसे मैं नहीं देख सका। –

+0

सिलोएड विकास सबसे खराब है :( – ShuggyCoUk

5

इसका उपयोग व्यूस्टेट को क्रमबद्ध करने के लिए किया जाता है (इसके चचेरे भाई ट्रिपलेट के साथ)।

मुझे लगता है कि वे बेस लाइब्रेरी का हिस्सा नहीं हैं (भले ही उनके बारे में एएसपी.नेट-विशिष्ट कुछ भी नहीं है) यह है कि वे बहुत उपयोगी नहीं हैं क्योंकि वे अवांछित हैं।

बेस लाइब्रेरी में अनियमित जोड़ी और तिगुना शामिल करने के लिए, "टाइपलेस" प्रोग्रामिंग को प्रोत्साहित करने के रूप में देखा जा सकता है।

एक टाइप किया हुआ टुपल उपयोगी हो सकता है, हालांकि (और मुझे लगता है कि एफ # में उन्हें है)। मुझे लगता है कि अज्ञात प्रकारों में हेटरोजेनस टुपल्स के लिए अधिकांश उपयोग मामलों को शामिल किया गया है।

+0

मैं समझ सकता हूं कि आप इसे वेबपैप में क्यों उपयोग करना चाहते हैं, लेकिन यह पूरे पुस्तकालय में क्यों उपलब्ध नहीं है? उदाहरण के लिए, मैं इसे मूल डीएलएल में क्यों नहीं उपयोग कर सकता? –

+0

@ जॉन मैकइन्टीयर: आप इसे मूल डीएलएल में उपयोग कर सकते हैं, आपको बस System.Web.UI असेंबली का संदर्भ शामिल करना होगा। –

+0

मुझे एहसास है, लेकिन यदि डीएलएल का इस्तेमाल कंसोल ऐप के लिए किया गया था, उदाहरण के लिए, क्या यह वेब ui असेंबली पर निर्भरता प्रतीत नहीं होता है? वास्तव में यह सिस्टम नेमस्पेस में नहीं होना चाहिए? –

0

ईश्वर मना करता है कि हमारे पास एक टाइपेड जोड़ी होनी चाहिए जो एक शब्दकोश से हल्का है और टाइप की गई सूची में इसका पालन किया जा सकता है ताकि यह अनुक्रमिक हो। :) बेशक इनमें से एक बनाना दर्द रहित है, लेकिन क्यों।

3

यह सीधे सवाल का जवाब नहीं देता है, लेकिन .NET 4 में आप संभवतः Tuple का उपयोग कर सकते हैं।

प्रश्न का उत्तर देने के लिए, मेरा मानना ​​है कि सिस्टम में जोड़े को रखना गलती थी। वेब.यूआई और माइक्रोसॉफ्ट ने इस गलती को टुपल क्लास के परिचय के साथ हल करने का प्रयास किया है।

संबंधित मुद्दे