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

  • Anthony Le

    Anthony Le

    10 EKİM 2006
  • maxman.tv

    maxman.tv

    29 EKİM 2013
  • William Sledd

    William Sled

    24 EYLÜL 2006