// created on 5/23/2005 at 3:30 AM using System; using System.Reflection; public class ReflectionTest { public static void Main() { Assembly myassembly = Assembly.LoadWithPartialName("gtk-sharp"); Assembly myassembly2 = Assembly.LoadWithPartialName("System"); Type mytype = myassembly.GetType("Gtk.Button"); foreach (EventInfo einfo in mytype.GetEvents()) { Console.Write("{0} (", einfo.Name); bool first = true; Type mytype2 = myassembly2.GetType(einfo.EventHandlerType.ToString()); MethodInfo mi = mytype2.GetMethod("Invoke"); foreach (ParameterInfo pi in mi.GetParameters()) { if (!first) Console.Write(", "); Console.Write("{0} {1}", pi.ParameterType.FullName, pi.Name); first = false; } Console.WriteLine(")"); } } }