作者:VB.NET开发
项目:Syste
' 导入命名空间
Imports System.Reflection
Class MyFindMembersClass
Public Shared Sub Main()
Dim objTest As New Object()
Dim objType As Type = objTest.GetType()
Dim arrayMemberInfo() As MemberInfo
Try
'Find all static or public methods in the Object
'class that match the specified name.
arrayMemberInfo = objType.FindMembers(MemberTypes.Method, _
BindingFlags.Public Or BindingFlags.Static _
Or BindingFlags.Instance, _
New MemberFilter(AddressOf DelegateToSearchCriteria), _
"ReferenceEquals")
Dim index As Integer
For index = 0 To arrayMemberInfo.Length - 1
Console.WriteLine("Result of FindMembers -" + ControlChars.Tab + _
arrayMemberInfo(index).ToString() + ControlChars.Cr)
Next index
Catch e As Exception
Console.WriteLine("Exception : " + e.ToString())
End Try
End Sub
Public Shared Function DelegateToSearchCriteria _
(ByVal objMemberInfo As MemberInfo, _
ByVal objSearch As Object) As Boolean
' Compare the name of the member function with the filter criteria.
If objMemberInfo.Name.ToString() = objSearch.ToString() Then
Return True
Else
Return False
End If
End Function 'DelegateToSearchCriteria
End Class
作者:VB程序
项目:Syste
' 导入命名空间
Imports System
Imports System.Reflection
Public Class MainClass
Shared Sub Main( )
Dim t As Type = Type.GetType("System.Reflection.Assembly")
Dim mbrInfoArray As MemberInfo( ) = t.FindMembers( _
MemberTypes.Method, _
BindingFlags.Public Or _
BindingFlags.Static Or _
BindingFlags.NonPublic Or _
BindingFlags.Instance Or _
BindingFlags.DeclaredOnly, _
Type.FilterName, "Get*")
Dim inf As MemberInfo
For Each inf In mbrInfoArray
Console.WriteLine("{0} is a {1}", _
inf, inf.MemberType)
Next
End Sub
End Class