Descobrir se um tipo implementa uma interface genérica

Digamos que eu tenha um tipo, MyType. Eu quero fazer o seguinte:

Descubra se MyType implementa a interface IList, para alguns T.Se a resposta para (1) for sim, descubra o que é T.

Parece que a maneira de fazer isso é GetInterface (), mas isso só permite pesquisar por um nome específico. Existe uma maneira de procurar por "todas as interfaces que estão no formulário IList" (Se possível, também seria útil se funcionasse se a interface fosse uma subinterface de IList).

Relacionado:Como determinar se um tipo implementa um tipo específico de interface genérica

questionAnswers(7)

yourAnswerToTheQuestion