public static GeneralOptions GetToolOptions(IEnumerable <string> arguments, ILogger logger) { var goptions = new GeneralOptions(); goptions.LoadOptions(arguments, logger); switch (goptions.Tool) { case "tbsmigration": { var options = new MigrationOptions(); options.LoadOptions(arguments, logger); return(options); } case "sampletool": { var options = new SampleToolOptions(); options.LoadOptions(arguments, logger); return(options); } } return(goptions); }