ヘッダー

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

 

Visual Basic 中学校 > VB.NET サンプル >

クラスのメンバ一覧を取得する

1.単純な例

IntegerPublicメンバの名前一覧をリストボックスに表示する。

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim ThisType As Type = GetType(Integer)
    Dim Flag As System.Reflection.BindingFlags

    ListBox1.Items.Clear()
    ListBox1.Sorted =
True

    Flag = Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public
    Flag = Flag
Or Reflection.BindingFlags.Instance    '※1

    ListBox1.Items.AddRange(ThisType.GetMembers(Flag))

End Sub

※1:この行をコメントアウトすると静的なメンバの一覧が対象となる。

メモ:同じ名前が複数表示されるのは、オーバーロードされているからです。

 

2.カスタマイズして表示する例

IntegerPublicメンバの名前一覧をリストボックスに表示する。

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim ThisType As Type = GetType(Integer)
    Dim Members() As System.Reflection.MemberInfo
    Dim K As
Integer
   
Dim Flag As System.Reflection.BindingFlags

    ListBox1.Items.Clear()
    ListBox1.Sorted =
True

    Flag = Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public
    Flag = Flag
Or Reflection.BindingFlags.Instance    '※1

    Members = ThisType.GetMembers(Flag)

    For K = 0 To Members.Length - 1
        ListBox1.Items.Add(Members(K).Name)
   
Next K

End Sub

※1:この行をコメントアウトすると静的なメンバの一覧が対象となる。

メモ:同じ名前が複数表示されるのは、オーバーロードされているからです。

 

 


VB6には同じ機能は用意されていません。