Sınıfta veya yöntemde genel bir üye olduğumu varsayalım:Genel bir sınıf veya yöntem üyesinden T türünü nasıl alabilirim?
public class Foo<T>
{
public List<T> Bar { get; set; }
public void Baz()
{
// get type of T
}
}
Sınıfı hazırladığımda, T
MyTypeObject1
olur, böylece sınıfın genel bir liste özelliği vardır: List<MyTypeObject1>
. Aynısı, jenerik olmayan bir sınıftaki genel bir yöntem için de geçerlidir:
public class Foo
{
public void Bar<T>()
{
var baz = new List<T>();
// get type of T
}
}
Bilmek istiyorum, sınıfımın listesi ne tür nesneler içeriyor. Yani Bar
veya baz
yerel değişken olarak adlandırılan liste özelliği ne tür T
içeriyor?
Bar[0].GetType()
yapamıyorum çünkü liste sıfır öğe içerebilir. Nasıl yapabilirim?
Lol olarak giriş - Evet, çok doğru; OP'nin sadece “object”, “IList” veya benzeri olduğunu varsaydım, ama bu doğru cevap olabilir. –
"typeof" in ne kadar okunabilir olduğunu seviyorum. Eğer T türünü bilmek istiyorsanız, sadece 'typeof (T) 'kullanın :) :) – demoncodemonkey
Ben sadece typeof (Type) kullanıyorum ve harika çalışıyor. – Anton