Как я могу узнать, является ли объект производным от определенного универсального класса?

Предположим, у меня есть объект, тогда как я могу узнать, является ли объект производным от определенного универсального класса. Например:

public class GenericClass<T> 
{
}    

public bool IsDeriveFrom(object o)
{
    return o.GetType().IsSubclassOf(typeof(GenericClass)); //will throw exception here
}

обратите внимание, что приведенный выше код вызовет исключение. Тип универсального класса нельзя получить напрямую, поскольку для универсального класса не существует типа без заданного параметра типа.

6
задан abatishchev 30 December 2010 в 09:40
поделиться