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

  • manadude21

    manadude21

    11 Mart 2008
  • SuppressedStorm

    SuppressedSt

    11 AĞUSTOS 2013
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008