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

  • TheGamer2323

    TheGamer2323

    25 Ocak 2009
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011