public virtual Classes SubClassesInAssembly() { Types types = new Types(ClassType.Assembly.GetTypes()); return new Classes(types.FindAll(delegate(Type item) { if (!item.IsClass || ClassType.Equals(item)) return false; return ClassType.IsAssignableFrom(item); })); }