Localizando todos os namespaces em uma montagem usando o Reflection (DotNET)

Eu tenho um assembly (carregado como ReflectionOnly) e quero encontrar todos os namespaces neste assembly para que eu possa convertê-los em instruções "using" ("Imports" em VB) para um modelo de arquivo de código-fonte gerado automaticamente.

Idealmente, gostaria de me restringir apenas aos namespaces de nível superior, então, em vez de:

using System;
using System.Collections;
using System.Collections.Generic;

você só teria:

using System;

Notei que há uma propriedade Namespace na classe System.Type, mas existe uma maneira melhor de coletar Namespaces dentro de um assembly que não envolva a iteração de todos os tipos e a seleção de seqüências de namespace duplicadas?

Muito obrigado, David

questionAnswers(6)

yourAnswerToTheQuestion