// 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(")");
}
}
}