Using reflection to get information about an assembly
/*
C# Programming Tips & Techniques
by Charles Wright, Kris Jamsa
Publisher: Osborne/McGraw-Hill (December 28, 2001)
ISBN: 0072193794
*/
// Asy.cs -- Demonstrates using reflection to get information
// about an assembly.
//
// Compile this program with the following command line:
// C:>csc Asy.cs
using System;
using System.Reflection;
public class Asy
{
static public void Main ()
{
Assembly asy = null;
try
{
asy = Assembly.Load ("Circle");
}
catch (Exception e)
{
Console.WriteLine (e.Message);
return;
}
Type [] types = asy.GetTypes();
foreach (Type t in types)
ShowTypeInfo (t);
}
static void ShowTypeInfo (Type t)
{
Console.WriteLine ("{0} is a member of the {1} namespace", t.Name, t.Namespace);
Console.WriteLine ("\r\nMethods in {0}:", t.Name);
MethodInfo [] methods = t.GetMethods ();
foreach (MethodInfo m in methods)
Console.WriteLine ("\t" + m.Name);
Console.WriteLine ("\r\nProperties in {0}:", t.Name);
PropertyInfo [] props = t.GetProperties ();
foreach (PropertyInfo p in props)
Console.WriteLine ("\t" + p.Name);
Console.WriteLine ("\r\nFields in {0}:", t.Name);
FieldInfo [] fields = t.GetFields ();
foreach (FieldInfo f in fields)
Console.WriteLine ("\t" + f.Name);
}
}