GetMembersなどメンバ情報を取得するメソッドでは、特に引数を指定しない場合はパブリックなインスタンスメンバのみを返します。 非パブリックやクラスのメンバ(静的メンバ)を取得したい場合はBindingFlagsを指定する必要があります。 BindingFlagsには次のような値が用意されています。

メンバ情報の取得とBindingFlags
意味 備考
BindingFlags.Static 静的メンバを対象とする どちらか一方または両方を指定する必要があります
BindingFlags.Instance インスタンスメンバを対象とする
BindingFlags.Public パブリックメンバを対象とする どちらか一方または両方を指定する必要があります
BindingFlags.NonPublic 非パブリックメンバを対象とする
BindingFlags.IgnoreCase メンバの名前を指定する際に、大文字小文字の違いを無視する
BindingFlags.DeclaredOnly その型で宣言されているメンバのみを対象とする (継承されたメンバを含めない)
BindingFlags.FlattenHierarchy 継承された静的メンバを対象とする
意味 備考
クラスの型情報から非パブリックなメンバのみを取得して表示する
Imports System
Imports System.Reflection

Class C
  Public Sub M1()
  End Sub

  Protected Sub M2()
  End Sub

  Private Sub M3()
  End Sub

  Private Shared Sub M4()
  End Sub

  Public F1 As String = Nothing
  Private F2 As String = Nothing
  Private Shared F3 As String = Nothing
End Class

Class Sample
  Shared Sub Main()
    Dim t As Type = GetType(C)

    ' 非パブリックなインスタンスメンバのみを取得して列挙する
    For Each m As MemberInfo In t.GetMembers(BindingFlags.NonPublic Or BindingFlags.Instance)
      Console.WriteLine("{0}{1}{2}", m.MemberType, vbTab, m)
    Next
  End Sub
End Class
実行結果
Method	Void M2()
Method	Void M3()
Method	Void Finalize()
Method	System.Object MemberwiseClone()
Field	System.String F2