Exemple #1
0
        public void VisitApis()
        {
            ConsoleApplication.WriteBanner();

            using (TextWriter writer = new StreamWriter(this.OutputFile, false, Encoding.UTF8))
                using (ManagedReflectionWriter builder = new ManagedReflectionWriter(writer, this.ApiFilter, this.ApiNamer)) {
                    builder.Resolver = this.Resolver;

                    // register add-ins to the builder
                    builder.RegisterAddins(this.BuilderAddins);

                    // load dependent bits
                    foreach (string dependency in this.Dependencies)
                    {
                        try {
                            builder.LoadAccessoryAssemblies(dependency);
                        } catch (IOException e) {
                            throw new SandcastleBuildException(e, "An error occured while loading dependency assembly. Assembly path: '{0}'.", dependency);
                        }
                    }

                    // parse the bits
                    foreach (string dllPath in this.Assemblies)
                    {
                        try {
                            builder.LoadAssemblies(dllPath);
                        } catch (IOException e) {
                            throw new SandcastleBuildException(e, "An error occured while loading assembly for reflection. Assembly path: '{0}'.", dllPath);
                        }
                    }

                    ConsoleApplication.WriteMessage(LogLevel.Info, "Loaded {0} assemblies for reflection and {1} dependency assemblies.", builder.Assemblies.Length, builder.AccessoryAssemblies.Length);

                    builder.VisitApis();

                    ConsoleApplication.WriteMessage(LogLevel.Info, "Wrote information on {0} namespaces, {1} types, and {2} members.", builder.Namespaces.Length, builder.Types.Length, builder.Members.Length);
                }
        }