ধরা যাক আমার কোনও শ্রেণি বা পদ্ধতিতে একটি জেনেরিক সদস্য রয়েছে, তাই:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
আমি যখন ক্লাস instantiate, 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
বা অনুরূপ - কিন্তু এই খুব ভাল সঠিক উত্তর হতে পারে।