I have been messing with a few of the more basic principles of reflection recently. The main points include pulling out a list of types from a given assembly and then reviewing the members of those specific Types.
public static void ReviewTypes()
{
// Checking out a specific assembly
Assembly a = Assembly.Load("Mscorlib.dll");
Type[] mytypes = a.GetTypes();
foreach (Type ty in mytypes)
{
Console.WriteLine("Type is {0}", ty);
}
Console.WriteLine("{0} types have been located", mytypes.Length);
}
public static void ReviewMembers()
{
// examine a single type
Type thisType = Type.GetType("System.Reflection.Assembly");
Console.WriteLine("This Type is {0}", thisType);
// get all the associated members
MemberInfo[] mbrInfoAll = thisType.GetMembers();
foreach (MemberInfo mbrInfoSelect in mbrInfoAll)
{
Console.WriteLine("{0} is a {1}", mbrInfoSelect, mbrInfoSelect.MemberType);
}
}
This type of granular interrogation of types\members at runtime can be very helpful!
Comments are closed.