मुझे आश्चर्य है कि एक्सटेंशन विधियों का उपयोग करके एक सामान्य सूची से सभी वस्तुओं को निकालना संभव है। इस कोड की तरह कुछ:विस्तार विधियों का उपयोग कर सी # में सूची <T> से किसी प्रकार के प्रकार की वस्तुओं को निकालें?
public static Remove<T>(this List<[any type]> list)
{
// some code to remove the objects of type T from the list
}
मैं निम्नलिखित कोड का उपयोग करके ऐसा कर सकते हैं:
public static Remove<T, K>(this List<K> list)
{
// some code to remove the objects of type T from the List<K>
}
लेकिन मैं सिर्फ प्रकार (टी) पर उपयोग करना चाहते हैं, द्वारा किसी भी प्रकार लालकृष्ण निर्दिष्ट करने के लिए आवश्यकता के बिना कर रही है कि उपयोगकर्ता द्वारा इस विस्तार विधि का उपयोग कर सकते हैं बस इस बारे में:
List<object> list = new List<object>();
list.Add(1);
list.Add("text");
// remove all int type objects from the list
list.Remove<int>();
एक विस्तार विधि है जो मैं वास्तव में इसके बाद के संस्करण कोड की तरह कुछ करने के लिए उपयोग कर सकते हैं क्या मैं वास्तव में यहाँ की जरूरत है।
सादर
देखें, इसलिए हमें अब रिटर्न प्रकार प्रदान नहीं करना होगा; ओ) –
ऑफ़ टाइप टाइप करने के लिए जा सकने वाले प्रत्येक ऑब्जेक्ट को वापस कर देगा। यह बहुत से तत्वों को हटा सकता है ... –
यह दो tweaks के साथ काम करता है :) –