アセンブリに定義されているすべての型情報を取得したい場合はAssembly.GetTypesメソッドあるいはAssembly.GetExportedTypesメソッドを使用します。

GetTypesメソッドではアセンブリに含まれるすべての型が返されるのに対して、GetExportedTypesメソッドではアセンブリの外部から参照できる型のみが返されます。 そのためGetExportedTypesメソッドでは、パブリックではない型(アクセス修飾子internal/Friendが指定されているクラスなど)は取得できません。

アセンブリ内のすべての型情報を取得する
Imports System
Imports System.Reflection

Public Class T1 : End Class ' アセンブリ外に公開されるクラス(Public)
Friend Class T2 : End Class ' アセンブリ外に公開されないクラス(Friend)

Class Sample ' アセンブリ外に公開されないクラス(internal)
  Shared Sub Main()
    Dim a As [Assembly] = [Assembly].GetExecutingAssembly()

    ' GetTypesメソッドではすべての型が返される
    Console.WriteLine("[GetTypes]")

    For Each t As Type In a.GetTypes()
      Console.WriteLine(t)
    Next

    ' GetExportedTypesメソッドではPublicな型のみが返される
    Console.WriteLine("[GetExportedTypes]")

    For Each t As Type In a.GetExportedTypes()
      Console.WriteLine(t)
    Next
  End Sub
End Class
実行結果
[GetTypes]
T1
T2
Sample
[GetExportedTypes]
T1

MENTAにてテキストチャットによるサポートを行っています。 問題の解決法をお探しの方や.NET/C#を学習中の方はどうぞご利用ください。