private static IOutputGenerator LoadOutputGenerator(CommandLineOptions options) { IOutputGenerator outputGenerator = null; var extensionAssemblyPath = options.ExtensionAssemblyPath; if (!string.IsNullOrEmpty(extensionAssemblyPath)) { var assembly = Assembly.LoadFrom(extensionAssemblyPath); foreach (var type in assembly.GetTypes()) { if ((typeof(IOutputGenerator)).IsAssignableFrom(type)) { outputGenerator = (IOutputGenerator)Activator.CreateInstance(type); } } } if (outputGenerator == null) { outputGenerator = new DefaultOutputGenerator(); } if (!string.IsNullOrWhiteSpace(options.OutputPath)) { outputGenerator.OutputPath = options.OutputPath; } return(outputGenerator); }
private static IOutputGenerator LoadOutputGenerator(CommandLineOptions options) { IOutputGenerator outputGenerator = null; string extensionAssemblyPath = options.ExtensionAssemblyPath; if (!String.IsNullOrEmpty(extensionAssemblyPath)) { var assembly = Assembly.LoadFrom(extensionAssemblyPath); foreach (var type in assembly.GetTypes()) { if ((typeof(IOutputGenerator)).IsAssignableFrom(type)) { outputGenerator = (IOutputGenerator)Activator.CreateInstance(type); } } } if (outputGenerator == null) { outputGenerator = new DefaultOutputGenerator(options.OutputPath); } return outputGenerator; }