SORU
11 HAZİRAN 2009, PERŞEMBE


Eğer nesne C genel türü ise test#

Eğer bir nesnenin genel tür bir test yapmak istiyorum. Başarı olmadan aşağıdaki denedim:

public bool Test()
{
    List<int> list = new List<int>();
    return list.GetType() == typeof(List<>);
}

Neyi yanlış yapıyorum ve bunu nasıl test yapabilirim?

CEVAP
11 HAZİRAN 2009, PERŞEMBE


Eğer kontrol etmek isterseniz genel bir tür örneği:

return list.GetType().IsGenericType;

Eğer kontrol etmek isterseniz List<T> jenerik:

return list.GetType().GetGenericTypeDefinition() == typeof(List<>);

Jon işaret ettiği gibi, tam da bu tür eşdeğerlik denetler. false dönen mutlaka list is List<T> false (List<T> bir değişkene atanamaz nesne yani) verir anlamına gelmez.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Alfredo Garcia

    Alfredo Garc

    25 Mayıs 2007
  • cdgotx

    cdgotx

    8 Kasım 2011
  • Munchkin the Teddy Bear

    Munchkin the

    30 EYLÜL 2011