' Accept only properties and methods whose return value matches' the Type passed as the second argument.' Note: it requires Imports System.ReflectionFunction FilterByType(ByVal m As MemberInfo, ByVal filterCriteria As Object) As _ Boolean If m.MemberType = MemberTypes.Property Then ' If it is a property, cast MemberInfo to PropertyInfo. Dim pi As PropertyInfo = CType(m, PropertyInfo) ' Return True if the property type is the one we're looking for. Return (pi.PropertyType Is filterCriteria) ElseIf m.MemberType = MemberTypes.Method Then ' If it is a method, cast MemberInfo to MethodInfo. Dim mi As MethodInfo = CType(m, MethodInfo) ' Return True if the return type is the one we're looking for. Return (mi.ReturnType Is filterCriteria) End IfEnd Function' EXAMPLE:' Get a reference to the System.String type.Dim stringType As Type = Type.GetType("System.String")Dim minfos() As MemberInfo ' We're looking for properties and functions that return a 32-bit integer.Dim returnType As Type = Type.GetType("System.Int32")' We're searching only public, non-shared methods and properties.minfos = stringType.FindMembers( MemberTypes.Method Or MemberTypes.Property, _ BindingFlags.Public Or BindingFlags.Instance, AddressOf FilterByType, _ returnType)Dim mi As MemberInfoFor Each mi In minfos Debug.WriteLine(mi.Name)Next ' Note: This code is taken from Francesco Balena's' "Programming Microsoft Visual Basic .NET" - MS Press 2002, ISBN 0735613753' You can read a free chapter of the book at ' http://www.vb2themax.com/HtmlDoc.asp?Table=Books&ID=101000


What is Metadata?
What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular