public static void Run() { CodeBuilderConfiguration configuration = CodeBuilderConfiguration.Instance; for (int i = 0; i < configuration.Tasks.Count; i++) { TemplateGenerator generator = TemplateFactory.CreateObject( configuration.Tasks[i].Name, configuration.Tasks[i].Generator, configuration); ITemplateObserver observer; foreach (TaskObserver item in configuration.Tasks[i].Observeres) { switch (item.Type) { case "Console": observer = new ConsoleObserver(); generator.AddObserver(observer); break; case "File": observer = new FileObserver(configuration.Tasks[i]); generator.AddObserver(observer); break; default: break; } } generator.Generate(); } }