VB.NET
クラスのメンバ一覧を取得する
1.単純な例
IntegerのPublicメンバの名前一覧をリストボックスに表示する。
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.BindingFlagsListBox1.Items.Clear()
ListBox1.Sorted = TrueFlag = Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public
Flag = Flag Or Reflection.BindingFlags.Instance '※1ListBox1.Items.AddRange(ThisType.GetMembers(Flag))
End Sub
※1:この行をコメントアウトすると静的なメンバの一覧が対象となる。
メモ:同じ名前が複数表示されるのは、オーバーロードされているからです。
2.カスタマイズして表示する例
IntegerのPublicメンバの名前一覧をリストボックスに表示する。
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.BindingFlagsListBox1.Items.Clear()
ListBox1.Sorted = TrueFlag = Reflection.BindingFlags.Static Or Reflection.BindingFlags.Public
Flag = Flag Or Reflection.BindingFlags.Instance '※1Members = ThisType.GetMembers(Flag)
For K = 0 To Members.Length - 1
ListBox1.Items.Add(Members(K).Name)
Next KEnd Sub
※1:この行をコメントアウトすると静的なメンバの一覧が対象となる。
メモ:同じ名前が複数表示されるのは、オーバーロードされているからです。
VB6には同じ機能は用意されていません。