using System; using System.Collections.Generic; using System.Reflection; namespace Runner { public class ObjectContainer where T : class, new () {} public class DocumentObject : ObjectContainer {} public class DomainObject : ObjectContainer {} class Program { [STAThread] static int Main (string[] args) { Type [] ts = typeof(Program).Assembly.GetTypes (); foreach (Type t in ts) Console.WriteLine (t); return 0; } } }