void Test() { List <string> names = System.AppDomain.CurrentDomain.GetAssemblies() .SelectMany(x => x.GetTypes()) .Where(x => typeof(PlayerState).IsAssignableFrom(x) && !x.IsInterface && !x.IsAbstract) .Select(x => x.Name).ToList(); ConstFileWriter.GenerateConstFile(this, "PlayerStateConst", names.ToArray()); ConstFileWriter.GenerateEnumConstFile(this, "PlayerStateEnumConst", "State", names.ToArray()); }