ले मैं निम्न विधिएक सामान्य विधि है कि एक सामान्य प्रकार
private void Foo<T, TItem>(T<TItem> param1)
कहाँ टी एक सामान्य प्रकार है कि अपने सामान्य जानकारी के रूप में TItem लेता होना चाहिए लिखने के लिए चाहते हैं बनाने के लिए।
कॉल उदाहरण होगा जैसे:
private void Main()
{
List<int> ints = new List<int>();
Foo<List, int>(ints);
}
संपादित करें: मेरे मामले में मैं केवल संग्रह के लिए की आवश्यकता होगी। वास्तविक उपयोग केस यह है कि मैं एक ऐसी विधि लिखना चाहता था जो आईसीओलेक्शन में कुछ जोड़ता है दुख की बात है कि ICollection
में .Add
विधि नहीं है, केवल ICollection<T>
है। उस के साथ के बाद से मैं जानकारी क्या वास्तविक सूची है, जो सूची के भीतर आइटम टाइप की तुलना में मेरे लिए ज्यादा महत्वपूर्ण है टाइप खोने हूँ
private Foo<T>(ICollection<T>)
:
मैं करने के लिए विधि नहीं बदल सकते।
इसलिए उपर्युक्त विचार पैदा हुआ, जो काम नहीं करता था।
मुझे नहीं लगता कि कि 'List' हमेशा एक सामान्य पैरामीटर की उम्मीद को देखते हुए संभव है है। – MutantNinjaCodeMonkey
मुझे नहीं लगता कि आप उस बाधा को बना सकते हैं। टी को एक सामान्य प्रकार होने के बारे में क्या है जो IInterface लागू करता है जहां टी TTtem से निकला है? –
मुझे वास्तव में समझ में नहीं आता कि कैसे 'फू' को 'टी' और 'टीआईटीएम 'को वर्णित तरीके से संबंधित करने की आवश्यकता होगी; क्या आप एक और विशिष्ट उदाहरण दे सकते हैं? – Codor