मान लीजिए कि मेरे पास एक वर्ग या विधि में एक सामान्य सदस्य है, इसलिए:
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, या इसी तरह - लेकिन यह बहुत ही अच्छी तरह से सही जवाब हो सकता है।