Katakanlah saya memiliki anggota generik di kelas atau metode, jadi:
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Ketika saya instantiate kelas, T
menjadi MyTypeObject1
, sehingga kelas memiliki properti daftar generik: List<MyTypeObject1>
. Hal yang sama berlaku untuk metode generik di kelas non-generik:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Saya ingin tahu, jenis objek apa yang terdapat dalam daftar kelas saya. Jadi daftar properti yang dipanggil Bar
atau variabel lokal baz
, berisi jenis apa T
?
Saya tidak bisa melakukannya Bar[0].GetType()
, karena daftar mungkin berisi elemen nol. Bagaimana saya bisa melakukannya?
object
,IList
, atau serupa - tapi ini bisa sangat baik menjadi jawaban yang tepat.