SORU
19 Ocak 2009, PAZARTESİ


Eğer bir sınıf, genel bir sınıftan türetilmiş olup olmadığını kontrol edin

Türetilmiş sınıfları ile benim projeye genel bir Dersim var.

public class GenericClass<T> : GenericInterface<T>
{
}

public class Test : GenericClass<SomeType>
{
}

Type nesne GenericClass den türetilmiş olup olmadığını öğrenmek için herhangi bir yolu var mı?

t.IsSubclassOf(typeof(GenericClass<>))

çalışmıyor.

CEVAP
19 Ocak 2009, PAZARTESİ


Bu kodu deneyin

static bool IsSubclassOfRawGeneric(Type generic, Type toCheck) {
    while (toCheck != null && toCheck != typeof(object)) {
        var cur = toCheck.IsGenericType ? toCheck.GetGenericTypeDefinition() : toCheck;
        if (generic == cur) {
            return true;
        }
        toCheck = toCheck.BaseType;
    }
    return false;
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Madeon

    Madeon

    31 Ocak 2010
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014