मान लीजिए कि मेरे पास एक वर्ग या विधि में एक सामान्य सदस्य है, इसलिए:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
जब मैं क्लास को इंस्टेंट कर देता हूं, T
बन जाता है MyTypeObject1
, तो क्लास में जेनेरिक लिस्ट प्रॉपर्टी होती है List<MyTypeObject1>
:। एक गैर-जेनेरिक वर्ग में एक सामान्य विधि पर लागू होता है:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
मैं यह जानना चाहूंगा कि मेरी कक्षा की सूची में किस प्रकार की वस्तुएँ हैं। तो सूची संपत्ति जिसे Bar
स्थानीय चर कहा जाता है baz
, किस प्रकार का है T
?
मैं नहीं कर सकता Bar[0].GetType()
, क्योंकि सूची में शून्य तत्व हो सकते हैं। मैं यह कैसे कर सकता हूं?
object
,IList
, या इसी तरह - लेकिन यह बहुत ही अच्छी तरह से सही जवाब हो सकता है।