मैं एक शब्दकोश चाहता हूं जो अलग-अलग प्रकार की जेनेरिक सूचियों के तारों को मानचित्रित करे।जेनेरिक सूचियों या विभिन्न प्रकारों के शब्दकोश
Type layerType = pair.Value.GetType().GetGenericArguments()[0];
List<layerType> objectsClicked = pair.Value as List<layerType>;
वहाँ है यह करने के लिए एक अच्छा तरीका है: निम्नलिखित रूप में अर्थात्: इस प्रकार
Key Value string List<T> string List<U> string List<V> string List<U> ...
वर्तमान में मैं एक Dictionary<string, IList>
उपयोग कर रहा हूँ और उसके बाद प्रत्येक शब्दकोश KeyValuePair<string, IList> pair
प्रवेश के समय से ही टाइप किया सूची निकाली गई ?
[संपादित करें] जैसा कि देखा गया है, उपर्युक्त संकलन नहीं करता है, माफ़ी माँगता है - जब आप किसी प्रश्न पूछते हैं तो आप यही करते हैं, जबकि आप अभी भी कुछ काम कर रहे हैं। कुछ और स्पष्टीकरण। मैं एक मूल स्थानिक डेटा दर्शक बना रहा हूं। अंतिम दृश्य में Layer<T>
एस का समूह शामिल है। प्रत्येक परत अपने प्रकार को प्रस्तुत करने के लिए एक प्रतिनिधि प्रदान करती है (ऑफ़सेट और स्केल दिया जाता है) और यह जांचने का एक तरीका है कि इसकी कौन सी ऑब्जेक्ट वर्तमान विंडो में हैं। हिट परीक्षण के लिए, मैं प्रत्येक परत के लिए एक सूची चाहूंगा जिसमें से वस्तुओं को मारा गया है। Point
परत, आदि के लिए यह सूची List<Point>
होगी ... सभी Layer<T>
एस से हिट का समूहकरण दृढ़ता से टाइप की गई सूचियों का संग्रह होगा।
प्रदान की कोड नमूना संकलन नहीं होंगे। किसी भी मामले में, यह वास्तव में मदद करेगा यदि आप हमें बता सकते हैं) आप इसे प्राप्त करने के बाद सूची के साथ क्या करने जा रहे हैं b) आप जिस समस्या को हल करने की कोशिश कर रहे हैं, वह क्या है। – Ani
आपके पास क्या संकलित नहीं होगा। आप एक प्रकार के ऑब्जेक्ट को सामान्य प्रकार पैरामीटर के रूप में पास नहीं कर सकते हैं। यदि आप दृढ़ता से टाइप की गई फैशन में सूची तक नहीं पहुंच रहे हैं तो जेनिक्स की भी आवश्यकता क्यों है? – Josh
चूंकि आप इन सूचियों को एक ही शब्दकोश में डालते हैं, इसलिए उनके बीच कुछ सामान्य आधार होना चाहिए (उदा। उनके पास समान आधार वर्ग/इंटरफ़ेस या कुछ है)। आपको अधिक जानकारी प्रदान करनी चाहिए। –